Qt使用教程:創(chuàng)建一個基于Qt部件的應(yīng)用程序(三)
在創(chuàng)建一個基于Qt部件的應(yīng)用程序(二)一文中,我們?yōu)榇蠹医榻B了填充缺失部分的設(shè)計用戶界面以及完成頭文件等內(nèi)容。接下來在本文中,我們將繼續(xù)為大家介紹填充缺失部分的余下所有內(nèi)容,歡迎品鑒!
完成源文件
在上文中,我們完成了頭文件,現(xiàn)在我們移動到源文件,textfinder.cpp。
1.在Edit視圖的Projects面板中,雙擊textfinder.cpp來打開它進行編輯。
2.使用QFile來新增代碼加載一個文本文件,然后使用QTextStream讀取它,最后在textEdit中使用QTextEdit::setPlainText()來顯示它。通過下面的代碼片段來說明這一點:
void TextFinder::loadTextFile() { QFile inputFile(":/input.txt"); inputFile.open(QIODevice::ReadOnly); QTextStream in(&inputFile); QString line = in.readAll(); inputFile.close(); ui->textEdit->setPlainText(line); QTextCursor cursor = ui->textEdit->textCursor(); cursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor, 1); }
3.想要使用QFile和 QTextStream,那么添加下面的#includes到textfinder.cpp中:
#include <QFile> #include <QTextStream>
4.對于on_findButton_clicked() slot來說,新增代碼到提取的搜索字符串中,并且使用QTextEdit::find()函數(shù)在文本文件中查詢搜索字符串。下面的代碼片段說明了這一點:
void TextFinder::on_findButton_clicked() { QString searchString = ui->lineEdit->text(); ui->textEdit->find(searchString, QTextDocument::FindWholeWords); }
5.一旦兩個功能被完成之后,在構(gòu)造函數(shù)中添加一行來調(diào)用loadTextFile(),下面的代碼說明了這一點:
TextFinder::TextFinder(QWidget *parent) : QWidget(parent), ui(new Ui::TextFinder) { ui->setupUi(this); loadTextFile(); }
該on_findButton_clicked() slot會通過下面的代碼在生成的ui_textfinder.h文件中自動被調(diào)用。
QMetaObject::connectSlotsByName(TextFinder);
創(chuàng)建一個資源文件
在你嵌入的輸入文本文件中,你需要一個資源文件(.qrc)。該輸入文件可以任何具有文本段落的.txt文件。創(chuàng)建命名為input.txt的文本文件,并將其存儲在textfinder文件夾中。
要添加一個資源文件:
1.選擇File > New File or Project > Qt > Qt Resource File > Choose。
打開Choose the Location對話框。
2.在Name字段中輸入textfinder。
3.在Path字段中輸入 C:\Qt\examples\TextFinder,然后點擊Next或Continue。打開Project Management對話框。
4.在Add to project字段中,選擇TextFinder.pro然后點擊Finish或Done在代碼編輯器中打開該文件。
5.選擇Add > Add Prefix。
6.在Prefix字段中,更換一個帶斜杠(/)的默認前綴。
7.選擇 Add > Add Files來定位并添加input.txt。
編譯和運行程序
現(xiàn)在你已經(jīng)擁有了所有必要的文件,點擊運行按鈕來編譯和運行程序。
購買Qt Enterprise最新正版授權(quán)!詳情請"咨詢在線客服"
集團授權(quán)強勢登陸!滿額即送好禮哦,精彩不容錯過!優(yōu)惠詳情點擊查看>>