济南 域名注册 网站建设,备案 网站 收录,河南最近的新闻,做简历网站知乎文章目录 创建一个基于Qt Widget的应用程序创建Text Finder项目素材文件 填补缺失的部分设计用户界面完成头文件完成源文件创建资源文件 编译和运行程序 参考文章 创建一个基于Qt Widget的应用程序
本教程介绍如何使用Qt Creator创建一个小型Qt应用程序#xff0c;名为Text F… 文章目录 创建一个基于Qt Widget的应用程序创建Text Finder项目素材文件 填补缺失的部分设计用户界面完成头文件完成源文件创建资源文件 编译和运行程序 参考文章 创建一个基于Qt Widget的应用程序
本教程介绍如何使用Qt Creator创建一个小型Qt应用程序名为Text Finder。它是Qt UI工具中Text Finder示例的简化版本。应用程序的用户界面是使用Qt Designer通过Qt小部件构建的。应用程序逻辑是通过使用代码编辑器编写的C代码。 创建Text Finder项目 选择文件 新建文件或项目 应用程序 Qt Widgets应用程序 选择。 打开介绍和项目位置对话框。 在名称字段中输入TextFinder。 在创建位置字段中输入项目文件的路径。例如C:\Qt\examples然后点击下一步在Windows和Linux上或继续在macOS上。 打开套件选择对话框。 选择您的项目的构建和运行套件然后点击下一步或继续。 注意如果在工具 选项 套件在Windows和Linux上或Qt Creator 首选项 套件在macOS上中只指定了一个套件则会跳过此对话框。 打开类信息对话框。 在类名字段中输入TextFinder作为类名。 在基类列表中选择QWidget作为基类类型。 注意头文件、源文件和表单文件字段会自动更新以匹配类的名称。 点击下一步或继续。 打开项目管理对话框。 查看项目设置并点击完成在Windows和Linux上或完成在macOS上创建项目。 注意项目将以编辑模式打开并隐藏这些说明。要返回到这些说明请打开帮助模式。
素材文件
TextFinder项目现在包含以下文件
textfinder.htextfinder.cppmain.cpptextfinder.uitextfinder.pro
.h和.cpp文件包含了必要的样板代码。.pro文件是完整的。
填补缺失的部分
首先设计用户界面然后继续填写缺失的代码。最后添加查找功能。
设计用户界面 在“项目”视图中以编辑器模式双击打开textfinder.ui文件启动集成的Qt Designer。将以下小部件拖放到表单中 标签QLabel 文本编辑框QLineEdit 按钮QPushButton 请注意要轻松定位小部件请使用侧边栏顶部的搜索框。例如要找到标签小部件开始键入“label”即可。 双击标签小部件输入关键词文本。 双击按钮小部件输入查找文本。 在属性窗格中将对象名称更改为findButton。 按下CtrlA或CmdA选择小部件点击水平布局或在Linux或Windows上按CtrlH或在macOS上按CtrlShiftH应用水平布局QHBoxLayout。 拖放一个文本编辑框小部件QTextEdit到表单中。 选择屏幕区域点击垂直布局或按CtrlL应用垂直布局QVBoxLayout。 应用水平和垂直布局确保应用程序界面适应不同的屏幕尺寸。 要在用户按下查找按钮时调用查找函数可以使用Qt的信号和槽机制。当特定事件发生时会发出一个信号而槽是响应特定信号的函数。Qt小部件具有预定义的信号和槽可以直接在Qt Designer中使用。要为查找函数添加一个槽 右键点击查找按钮以打开上下文菜单。选择“转到槽” “clicked()”然后选择“确定”。 会在头文件textfinder.h中添加一个私有槽on_findButton_clicked()并在源文件textfinder.cpp中添加一个私有函数TextFinder::on_findButton_clicked()。 按下CtrlS或CmdS保存更改。
有关使用Qt Designer设计表单的更多信息请参阅Qt Designer手册。
完成头文件
textfinder.h文件已经有必要的#include一个构造函数一个析构函数和Ui对象。你需要添加一个私有函数loadTextFile()以读取并显示输入文本文件的内容在QTextEdit中。 在编辑视图的项目窗格中双击打开textfinder.h文件进行编辑。 在private部分添加一个私有函数在Ui::TextFinder指针后面如下代码片段所示 private slots:void on_findButton_clicked();private:Ui::TextFinder *ui;void loadTextFile();完成源文件
现在头文件已经完成转到源文件textfinder.cpp。 在编辑视图的项目窗格中双击打开textfinder.cpp文件进行编辑。 添加代码使用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);}为了使用QFile和QTextStream在textfinder.cpp中添加以下#include #include QFile#include QTextStream对于on_findButton_clicked()槽函数添加代码提取搜索字符串并使用QTextEdit::find()函数在文本文件中查找该字符串。如下代码片段所示
void TextFinder::on_findButton_clicked() { QString searchString ui-lineEdit-text(); ui-textEdit-find(searchString, QTextDocument::FindWholeWords); } 一旦这两个函数都完成了在构造函数中添加一行调用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);创建资源文件
你需要一个资源文件.qrc其中嵌入输入文本文件。输入文件可以是任何带有文本段落的.txt文件。创建一个名为input.txt的文本文件并将其存储在textfinder文件夹中。
添加资源文件的步骤 选择文件 新建文件或项目 Qt Qt资源文件 选择。 打开选择位置对话框。 在名称字段中输入textfinder。 在路径字段中输入C:\Qt\examples\TextFinder然后点击下一步或继续。 打开项目管理对话框。 在添加到项目字段中选择TextFinder.pro然后点击完成或完成以在代码编辑器中打开该文件。 选择添加 添加前缀。 在前缀字段中将默认前缀替换为斜杠(/)。 选择添加 添加文件以定位并添加input.txt。
编译和运行程序
现在你已经拥有了所有必要的文件点击按钮来编译和运行你的程序。
参考文章
【Qt】Qt创建Qt Qt Widgets项目
用户界面开发框架Qt 6.x入门级教程 - 创建基于Qt Widget的应用一