本教程介绍如何使用Qt小部件创建一个应用程序:文本查找器。
它是QtUI工具文本查找器示例的简化版本。应用程序用户界面是通过使用Qt设计器从Qt小部件构建的。应用程序逻辑使用代码C++代码编辑器以代码编写。
Qt5.12实战京东好评率94%无理由退换京东配送¥89.2购买创建文本查找器项目
选择文件新文件或项目Application(Qt)QtWidgetsApplication选择。
将打开简介和项目位置对话框。
在Name字段中,键入文本查找器。在Createin字段中,输入项目文件的路径。例如,然后选择下一步(在Windows和Linux上)或继续(在macOS上)。C:\Qt\examples将打开DefineBuildSystem对话框。
在Buildsystem字段中,选择要用于生成和运行项目的生成系统或。将打开ClassInformation对话框。
在Classname字段中,键入TextFinder作为类名称。在Baseclass列表中,选择作为基类类型。注:标题文件、源文件和窗体文件字段将自动更新,以匹配类的名称。
Qt5.9C++开发指南QT编程教程C++编程书Qt5.9LTS版本为开发平台详解QtC京东查看已下架将打开KitSelection对话框。
选择为项目生成和,然后选择下一步或继续。选择下一步或继续。将打开ProjectManagement对话框。
查看项目设置,然后选择完成(在Windows和Linux上)或完成(在macOS上)以创建项目。注:项目在编辑模式下打开,这些说明将隐藏。要返回到这些说明,请打开帮助模式。
QtQuick核心编程安晓辉编京东¥.5购买已下架TextFinder项目现在包含以下文件:
main.cpptextfinder.htextfinder.cpptextfinder.uitextfinder.pro
.h和.cpp文件具有必要的锅炉板代码。.pro文件已完成。
设计用户界面
在编辑器模式下,双击项目视图中的文本查找器.ui文件以启动集成的Qt设计器。将以下小部件拖至窗体:标签(QLabel))行编辑(QlineEdit)按钮(QPushButton))
PythonGUI设计PyQt5从入门到实践(全彩版)赠纸质专属魔卡、PPT课件京东月销量旗舰店¥79.56购买注:要轻松找到小部件,请使用边栏顶部的搜索框。例如,要查找标签小部件,请开始键入单词label。
双击标签小部件并输入文本关键字。双击按钮小部件并输入文本查找。在属性视图中,将对象名称更改为查找按钮。
按Ctrl+A(或Cmd+A)选择小部件并选择水平布局(或在Linux或Windows上按Ctrl+H,或在macOS上按Ctrl+Shift+H)以应用水平布局将文本编辑小部件(QTextEdit)拖到窗体中。选择屏幕区域,然后选择垂直布局(或按Ctrl+L)以应用垂直布局)。
应用水平和垂直布局可确保应用程序UI缩放到不同的屏幕大小。
若要在用户选择查找按钮时调用查找函数,请使用Qt信号和插槽机制。当发生特定事件时,将发出信号,并且插槽是响应特定信号的函数。Qt小部件具有预定义信号和插槽,可以直接从Qt设计器使用。要为查找功能添加插槽,请:右键单击查找按钮以打开上下文菜单。选择转到槽clicked(),然后选择确定。将的专用槽添加到头文件、文本查找器.h和私有函数中,将添加到源文件、文本查找器.cpp。on_findButton_clicked()TextFinder::on_findButton_clicked()
按Ctrl+S(或Cmd+S)保存所做的更改。有关使用Qt设计器设计表单的信息,请参阅Qt设计器手册。
Qt5开发及实例(第4版)(含典型案例视频分析)京东月销量¥.8购买完成标题文件
textfinder.h文件已经具有#includes、构造函数、析构函数和对象。您需要添加私有函数QTextEdit.UiloadTextFile()才能在QTextEdit中读取和显示输入文本文件的内容。
在编辑视图中的项目视图中,双击文件以打开该文件进行编辑。textfinder.h在指针之后向节添加私有函数,如下代码段所示:privateUi::TextFinderprivateslots:voidon_findButton_clicked();private:Ui::TextFinder*ui;voidloadTextFile();
完成源文件
现在,头文件已完成,请转到源文件、文本查找器.cpp。
在编辑视图中的项目视图中,双击文本查找器.cpp文件以打开该文件进行编辑。添加代码以使用,使用读取它,然后使用()显示它。以下代码段说明了这一点:textEditvoidTextFinder::loadTextFile(){QFileinputFile(:/input.txt);inputFile.open(QIODevice::ReadOnly);QTextStreamin(inputFile);QStringline=in.readAll();inputFile.close();ui-textEdit-setPlainText(line);QTextCursorcursor=ui-textEdit-textCursor();cursor.movePosition(QTextCursor::Start,QTextCursor::MoveAnchor,1);}
要使用和请将以下#includes添加到文本查找器.cpp:#includeQFile#includeQTextStream
对于插槽,添加代码以提取搜索字符串,并使用()函数在文本文件中查找搜索字符串。以下代码段说明了这一点:on_findButton_clicked()voidTextFinder::on_findButton_clicked(){QStringsearchString=ui-lineEdit-text();ui-textEdit-find(searchString,QTextDocument::FindWholeWords);}
这两个函数完成后,在构造函数中添加一行以调用,如下代码段所示:loadTextFile()TextFinder::TextFinder(QWidget*parent):QWidget(parent),ui(newUi::TextFinder){ui-setupUi(this);loadTextFile();}
插槽在生成的uicui_textfinder.h文件中由以下代码行自动调用:on_findButton_clicked()
QMetaObject::connectSlotsByName(TextFinder);
创建资源文件
您需要一个资源文件(.qrc),在其中嵌入输入文本文件。输入文件可以是任何.txt文本段落的文件。创建名为输入的文本文件.txt并将其存储在文本查找器文件夹中。
要添加资源文件:
选择文件新文件或项目QtQtResourceFile选择。
选择位置对话框将打开。
在Name字段中,输入文本查找器。在Path字段中,输入,然后选择下一步或继续。C:\Qt\examples\TextFinder将打开项目管理对话框。
在Addtoproject字段中,选择TextFinder.pro完成或完成以在代码编辑器中打开文件。选择AddAddPrefix。在Prefix字段中,将默认前缀替换为斜杠(/)。选择AddAddFiles以查找和添加.txt。
编译和运行程序
现在您拥有了所有必要的文件,选择编译
和运行程序的按钮。
Qt6对Concurrent并发模块的更新
C++Qt框架Concurrent并发模块使用方法Qt框架流布局QFlowlayout使用实例
Qt6中网络模块的最新更新和修改,以及未来可能的发展方向
Qt实例——点击按钮显示文本
#Qt#