




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、專 業(yè):嵌入式專業(yè),Qt,Qt Creator實現(xiàn)文本編輯,實現(xiàn)功能: 以前都用設計器設計界面,而這次我們用代碼實現(xiàn)一個簡單的查找對話框。對于怎么實現(xiàn)查找功能的,我們詳細地分步說明了怎么進行類中方法的查找和使用。其中也將Qt Creator智能化的代碼補全功能和程序中函數(shù)的聲明位置和定義位置間的快速切換進行了介紹。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 1.首先還是保存以前的工程,然后再將其打開。 我們發(fā)現(xiàn)Qt Creator默認的字體有點小,可以按下Ctrl鍵的同時按兩下+鍵,來放大字體。也可以選擇Edit-Advanced-Increase Font Size。,Qt Creato
2、r實現(xiàn)文本編輯,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 2.在mainwindow.h中加入#include 的頭文件包含,在private中添加 QLineEdit *find_textLineEdit; /聲明一個行編輯器,用于輸入要查找的內容 在private slots中添加 void show_findText(); 在該函數(shù)中實現(xiàn)查找字符串的功能。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 3.進入查找菜單的觸發(fā)事件槽函數(shù),更改如下。 void MainWindow:on_action_Find_triggered() QDialog *findDlg = new QDi
3、alog(this); /新建一個對話框,用于查找操作,this表明它的父窗口是MainWindow。 findDlg-setWindowTitle(tr(查找); /設置對話框的標題,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 3.進入查找菜單的觸發(fā)事件槽函數(shù),更改如下。(續(xù)) find_textLineEdit = new QLineEdit(findDlg); /將行編輯器加入到新建的查找對話框中 QPushButton *find_Btn = new QPushButton(tr(查找下一個),findDlg); /加入一個“查找下一個”的按鈕 QVBoxLayout* layout
4、 = new QVBoxLayout(findDlg); layout-addWidget(find_textLineEdit);,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 3.進入查找菜單的觸發(fā)事件槽函數(shù),更改如下。 (續(xù)) layout-addWidget(find_Btn); /新建一個垂直布局管理器,并將行編輯器和按鈕加入其中 findDlg -show(); /顯示對話框 connect(find_Btn,SIGNAL(clicked(),this,SLOT(show_findText(); /設置“查找下一個”按鈕的單擊事件和其槽函數(shù)的關聯(lián) ,Qt Creator實現(xiàn)文本編輯,
5、實現(xiàn)過程: 4. 這里我們直接用代碼生成了一個對話框,其中一個行編輯器可以輸入要查找的字符,一個按鈕可以進行查找操作。我們將這兩個部件放到了一個垂直布局管理器中。然后顯示這個對話框。并設置了那個按鈕單擊事件與show_findText()函數(shù)的關聯(lián)。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 5.下面寫實現(xiàn)查找功能show_findText()函數(shù)。 void MainWindow:show_findText()/“查找下一個”按鈕的槽函數(shù) QString findText = find_textLineEdit-text(); /獲取行編輯器中的內容 先用一個QString類的對象獲得要
6、查找的字符。然后我們一步一步寫查找操作的語句。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 6.在下一行寫下ui,然后直接按下鍵盤上的“”或“.”,因為ui是指針對象,所以自動生成“-”號,而且彈出了ui中的所有部件名稱的列表。如下圖。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程:,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 7.我們用向下的方向鍵選中列表中的textEdit。或者我們可以先輸入text,這時能縮減列表的內容。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 8.如上圖我們將鼠標放到textEdit上,這時便出現(xiàn)了textEdit的類名信息,且后面出現(xiàn)一個F1按鍵。我們按下鍵
7、盤上的F1,便能出現(xiàn)textEdit的幫助。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 9.在幫助中向下拉,會發(fā)現(xiàn)這里有一個find函數(shù)。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 10.我們點擊find,查看其詳細說明。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 11.可以看到find函數(shù)可以實現(xiàn)文本編輯器中字符串的查找。其中有一個FindFlags的參數(shù),我們點擊它查看其說明。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 12.可以看到它是一個枚舉變量(enum),有三個選項,第一項是向后查找(即查找光標以前的內容,這里的前后是相對的說法,比如第一行已經(jīng)用完了,光標在第二行時
8、,把第一行叫做向后。),第二項是區(qū)分大小寫查找,第三項是查找全部。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 13.我們選用第一項,然后寫出下面的語句。 ui-textEdit-find(findText,QTextDocument:FindBackward); /將行編輯器中的內容在文本編輯器中進行查找 當我們剛打出“f”時,就能自動彈出textEdit類的相關屬性和方法。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 13.可以看到,當寫完函數(shù)名和第一個“(”后,系統(tǒng)會自動顯示出該函數(shù)的函數(shù)原型,這樣可以使我們減少出錯。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 14.這時已經(jīng)能實
9、現(xiàn)查找的功能了。但是我們剛才看到find的返回值類型是bool型,而且,我們也應該為查找不到字符串作出提示。 if(!ui-textEdit-find(findText,QTextDocument:FindBackward) QMessageBox:warning(this,tr(查找),tr(找不到 %1) .arg(findText); ,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 14. (續(xù)) 因為查找失敗返回值是false,所以if條件加了“!”號。在找不到時彈出警告對話框。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 15.到這里,查找功能就基本上寫完了。show_findTe
10、xt()函數(shù)的內容如下。,Qt Creator實現(xiàn)文本編輯,我們會發(fā)現(xiàn)隨著程序功能的增強,其中的函數(shù)也會越來越多,我們都會為查找某個函數(shù)的定義位置感到頭疼。而在Qt Creator中有幾種快速定位函數(shù)的方法,我們這里講解三種。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 第一,在函數(shù)聲明的地方直接跳轉到函數(shù)定義的地方。 如在do_file_Load上點擊鼠標右鍵,在彈出的菜單中選擇Follow Symbol under Cursor或者下面的Switch between Method Declaration/Definition。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 這時系統(tǒng)就會自
11、動跳轉到函數(shù)定義的位置。如下圖。,Qt Creator實現(xiàn)文本編輯,實現(xiàn)過程: 第二,快速查找一個文件里的所有函數(shù)。 我們可以點擊窗口最上面的下拉框,這里會顯示本文件中所有函數(shù)的列表。,Qt Creator實現(xiàn)文本編輯,第三,利用查找功能。 1.我們先將鼠標定位到一個函數(shù)名上。,Qt Creator實現(xiàn)文本編輯,2.然后選擇Edit-Find/Replace-Find Dialog。,Qt Creator實現(xiàn)文本編輯,3.這時會出現(xiàn)一個查找對話框,可以看到要查找的函數(shù)名已經(jīng)寫在里面了。,Qt Creator實現(xiàn)文本編輯,4.當我們按下Search按鈕后,會在查找結果窗口顯示查找到的結果。,Qt Creator實現(xiàn)文本編輯,5.我們點擊第二個文件。會發(fā)現(xiàn)在這個文件中有兩處關鍵字是高亮顯示。,Qt Creator實現(xiàn)文本編輯,6.我們雙擊第二項,就會自動跳轉到函數(shù)的定義處。,Q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 消費金融客戶關系管理考核試卷
- 機車車輛照明系統(tǒng)光學配件考核試卷
- 跨學段教育銜接綜合計劃
- 文化產(chǎn)業(yè)項目合同信息化管理措施
- 新北京版小學英語六年級上復習計劃反饋機制
- 2025二年級下學期德育社會責任計劃
- 西師版五年級上冊數(shù)學教學計劃評估標準
- 書法文化傳播計劃
- 江西版小學二年級多元文化教育計劃
- 旅游景點在線評價系統(tǒng)分析-全面剖析
- 安全生產(chǎn)、文明施工資金保障制度11142
- 安徽省C20教育聯(lián)盟2024-2025學年九年級下學期3月月考數(shù)學試題 (原卷版+解析版)
- 2025新疆機場(集團)有限責任公司阿克蘇管理分公司第一季度招聘(75人)筆試參考題庫附帶答案詳解
- 2025年高級育嬰師的試題及答案
- 中藥性狀鑒定技術知到課后答案智慧樹章節(jié)測試答案2025年春天津生物工程職業(yè)技術學院
- 2025年北京電子科技職業(yè)學院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- GB/T 45120-2024道路車輛48 V供電電壓電氣要求及試驗
- 2025年廣東深圳市職業(yè)病防治院選聘事業(yè)單位常設崗位3人歷年高頻重點提升(共500題)附帶答案詳解
- 兒童哮喘預防
- 人工智能設計倫理知到智慧樹章節(jié)測試課后答案2024年秋浙江大學
- 《陸上風電場工程概算定額》NBT 31010-2019
評論
0/150
提交評論