「Qt中文教程指南」如何创建基于Qt Widget的应用程序(三)
2026/8/1 19:27:18 网站建设 项目流程

Qt是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。

本文描述了如何使用Qt Creator创建一个小的Qt应用程序 - 文本查找器,在上文中介绍了如何设计用户界面,在本文将继续介绍如何完善Header、Source文件,一定要持续关注哦~

填补缺失的部分

首先设计用户界面,然后继续填充缺失的代码。最后,添加查找功能。

完善Header文件

textfinder.h文件已经包含了必要的#includes、构造函数、析构函数和Ui对象,您需要添加一个私有函数loadTextFile()来读取和显示QTextEdit中输入文本文件的内容。

1. 在Edit视图中的Projects视图中,双击textfinder.h文件来打开它进行编辑。

2. 在private部分添加一个私有函数,在Ui::TextFinder指针之后:

private slots: void on_findButton_clicked(); private: Ui::TextFinder *ui; void loadTextFile();
完善Source文件

现在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);

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询