Qt使用教程:創(chuàng)建一個基于Qt部件的應(yīng)用程序(二)
在創(chuàng)建一個基于Qt部件的應(yīng)用程序(一)中,我們?yōu)榇蠹医榻B了如何創(chuàng)建文本搜索項目。在本文中,我們將繼續(xù)介紹另一部分重要內(nèi)容——如何填充缺失部分。
填充缺失部分
從設(shè)計用戶界面開始,然后轉(zhuǎn)移到填充缺失的代碼,最后添加查找功能。
設(shè)計用戶界面
1. 在Editor模式中,雙擊Projects視圖中的textfinder.ui文件來啟動集成的Qt Designer。
2. 拖放以下的小部件到表單中:
- Label (QLabel)
- Line Edit (QLineEdit)
- Push Button (QPushButton)
注意:想要輕松地找到部件,那么使用在Sidebar頂部的搜索框。例如,想要查找Label部件,輸入label即可。
3. 雙擊Label部件輸入文本Keyword。
4. 雙擊Push Button部件然后輸入文本Find。
5. 在Properties面板中,將objectName更改為findButton。
6. 使用Ctrl + A(或Cmd + A)來選擇部件,然后點擊Lay out Horizontally(或在Linux或Windows中使用Ctrl+H;在OS X中使用Ctrl+Shift+H)來應(yīng)用一個水平布局 (QHBoxLayout)。
7. 拖放一個Text Edit部件 (QTextEdit) 到表單中。
8. 選擇屏幕區(qū)域然后點擊Lay out Vertically(或使用Ctrl+L)來應(yīng)用一個垂直布局 (QVBoxLayout)。
應(yīng)用該水平布局和垂直布局是為了確保應(yīng)用程序的用戶界面可擴展到不同的屏幕尺寸上。
9. 當(dāng)用戶點擊Find按鈕時想要調(diào)用查找功能,那么可以使用Qt的信號和slots機制。當(dāng)一個特定事件發(fā)生并且slot被調(diào)用來響應(yīng)一個特定信號時,一個信號將會被發(fā)射。Qt部件可以預(yù)定義信號和slots,你可以直接從Qt Designer中使用它。為查找功能添加一個slot:
- 右鍵單擊Find按鈕來打開上下文菜單。
- 選擇Go to Slot > clicked(),然后選擇OK。
一個私有的slot,添加on_findButton_clicked()到頭文件、textfinder.h和私有功能中;TextFinder::on_findButton_clicked()添加到源文件、textfinder.cpp中。
10. 使用 Ctrl+S (或 Cmd+S)來保存你的更改。
有關(guān)使用Qt Designer設(shè)計表單的更多信息請參見Qt Designer Manual。
完成頭文件
textfinder.h文件已經(jīng)擁有了必要的#includes、構(gòu)造函數(shù)、析構(gòu)函數(shù)以及UI對象。你需要添加一個私有函數(shù)、loadTextFile()來讀取并顯示在QTextEdit中的輸入文本文件的內(nèi)容。
1. 在Edit視圖的Projects面板中,雙擊textfinder.h文件來打開它并編輯。
2. 新增一個私有功能到私有部分中,在Ui::TextFinder指針后就說明了下面的代碼片段:
private slots: void on_findButton_clicked(); private: Ui::TextFinder *ui; void loadTextFile();
購買Qt Enterprise最新正版授權(quán)!詳情請"咨詢在線客服"
集團授權(quán)強勢登陸!滿額即送好禮哦,精彩不容錯過!優(yōu)惠詳情點擊查看>>