翻譯|使用教程|編輯:龔雪|2023-10-19 10:04:20.337|閱讀 98 次
概述:本文主要介紹如何使用Qt Creator創建一個小的Qt應用程序 - 文本查找器。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Qt 是目前最先進、最完整的跨平臺C++開發工具。它不僅完全實現了一次編寫,所有平臺無差別運行,更提供了幾乎所有開發過程中需要用到的工具。如今,Qt已被運用于超過70個行業、數千家企業,支持數百萬設備及應用。
本文描述了如何使用Qt Creator創建一個小的Qt應用程序 - 文本查找器,在上文中(點擊這里回顧>>)介紹了如何設計用戶界面,在本文將繼續介紹如何完善Header、Source文件,一定要持續關注哦~
Qt技術交流群:166830288 歡迎一起進群討論
首先設計用戶界面,然后繼續填充缺失的代碼。最后,添加查找功能。
textfinder.h文件已經包含了必要的#includes、構造函數、析構函數和Ui對象,您需要添加一個私有函數loadTextFile()來讀取和顯示中輸入文本文件的內容。
1. 在Edit視圖中的Projects視圖中,雙擊textfinder.h文件來打開它進行編輯。
2. 在private部分添加一個私有函數,在Ui::TextFinder指針之后:
private slots: void on_findButton_clicked(); private: Ui::TextFinder *ui; void loadTextFile();
現在header文件已經完成,接下來跳轉到源文件textfinder.cpp。
1. 在Edit視圖中的Projects視圖中,雙擊textfinder.cpp文件來打開它進行編輯。
2. 添加代碼來使用QFile加載文本文件,使用QTextStream讀取它,然后使用QTextEdit::setPlainText()在textEdit上顯示它:
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,請在textfinder.cpp中添加以下#includes:
#include "./ui_textfinder.h" #include <QFile> #include <QTextStream>
4. 對于on_findButton_clicked()槽,添加代碼來提取搜索字符串,并使用QTextEdit::find()函數在文本文件中查找搜索字符串:
void TextFinder::on_findButton_clicked() { QString searchString = ui->lineEdit->text(); ui->textEdit->find(searchString, QTextDocument::FindWholeWords); }
5. 在構造函數中添加一行調用loadTextFile():
TextFinder::TextFinder(QWidget *parent) : QWidget(parent) , ui(new Ui::TextFinder) { ui->setupUi(this); loadTextFile(); }
下面一行代碼自動調用uic生成的ui_textfinder.h文件中的on_findButton_clicked()槽:
QMetaObject::connectSlotsByName(TextFinder);
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網