翻譯|行業資訊|編輯:龔雪|2022-12-23 10:38:23.633|閱讀 234 次
概述:本系列文章將為大家介紹如何使用Qt 6來構建一個項目,歡迎持續關注獲取更多Qt中文教程!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Qt是目前最先進、最完整的跨平臺C++開發工具。它不僅完全實現了一次編寫,所有平臺無差別運行,更提供了幾乎所有開發過程中需要用到的工具。如今,Qt已被運用于超過70個行業、數千家企業,支持數百萬設備及應用。
本教程將介紹如何使用QtCreator創建一個小型的Qt應用程序——文本查找器,它是Qt UI工具文本查找示例的簡化版本,應用程序用戶界面是通過使用Qt Designer從Qt widgets構建的,應用程序邏輯是通過使用代碼編輯器用C++編寫的。
在上文中,主要為大家介紹了如何創建一個文本查找器項目(點擊這里回顧>>),本文繼續介紹如何完成Header文件、源文件等。
textfinder.h文件已經有了必要的#includes、構造函數、析構函數和Ui對象,開發人員需要添加一個私有函數loadTextFile()來讀取和顯示QTextEdit中輸入文本文件的內容。
1. 在Edit視圖的Projects視圖中,雙擊textfinder.h文件來打開它進行編輯。
2. 在私有部分中添加一個私有函數,在Ui::TextFinder指針之后:
private slots: void on_findButton_clicked(); private: Ui::TextFinder *ui; void loadTextFile();
現在頭文件已經完成,接下來是源文件textfinder.cpp。
1. 在Edit視圖的Projects視圖中,雙擊textfinder.cpp文件來打開它進行編輯。
2. 添加使用QFile加載文本文件的代碼,用讀取它,然后用()在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. 要使用 和,添加以下#includes到textfinder.cpp:
#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() slot:
QMetaObject::connectSlotsByName(TextFinder);
Qt技術交流群:166830288 歡迎一起進群討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網