<Qt Enterprise最新版下載>html
在建立一個基於Qt部件的應用程序(二)一文中,咱們爲你們介紹了填充缺失部分的設計用戶界面以及完成頭文件等內容。接下來在本文中,咱們將繼續爲你們介紹填充缺失部分的餘下全部內容,歡迎品鑑!編輯器
在上文中,咱們完成了頭文件,如今咱們移動到源文件,textfinder.cpp。函數
1.在Edit視圖的Projects面板中,雙擊textfinder.cpp來打開它進行編輯。ui
2.使用QFile來新增代碼加載一個文本文件,而後使用QTextStream讀取它,最後在textEdit中使用QTextEdit::setPlainText()來顯示它。經過下面的代碼片斷來講明這一點:this
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中:spa
#include <qfile>
#include <qtextstream></qtextstream></qfile>
4.對於on_findButton_clicked() slot來講,新增代碼到提取的搜索字符串中,而且使用QTextEdit::find()函數在文本文件中查詢搜索字符串。下面的代碼片斷說明了這一點:設計
void
TextFinder::on_findButton_clicked()
{
QString searchString = ui->lineEdit->text();
ui->textEdit->find(searchString, QTextDocument::FindWholeWords);
}
5.一旦兩個功能被完成以後,在構造函數中添加一行來調用loadTextFile(),下面的代碼說明了這一點:code
TextFinder::TextFinder(QWidget *parent)
: QWidget(parent), ui(
new
Ui::TextFinder)
{
ui->setupUi(
this
);
loadTextFile();
}
該on_findButton_clicked() slot會經過下面的代碼在生成的ui_textfinder.h文件中自動被調用。orm
QMetaObject::connectSlotsByName(TextFinder);
htm
在你嵌入的輸入文本文件中,你須要一個資源文件(.qrc)。該輸入文件能夠任何具備文本段落的.txt文件。建立命名爲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。
如今你已經擁有了全部必要的文件,點擊運行按鈕來編譯和運行程序。
有興趣的朋友能夠點擊查看更多有關Qt的文章!