当前位置: 首页 > news >正文

基于VS平台的QT开发全流程指南

        本篇用于记录QT开发软件的流程,包括qt安装,开发流程,exe打包,为后期使用提供方便的参考。其实,学完开发的全流程,然后自己多练几个项目,就可以去某鱼上接单了。上学期间会有一些单子但不多,不过也可以赚一点外快,但主要还是多学一项技能。

1.QT简介

        QT 是一个跨平台的应用程序开发框架,用于开发图形用户界面(GUI)程序以及非图形程序(如控制台工具)。它由 Qt Company 开发,支持多种操作系统平台,包括 Windows、macOS、Linux 和嵌入式系统。QT 的核心特点包括:

图1  QT的版本
图1  QT的版本

        跨平台性:因为QT 提供了统一的开发接口,所以开发者编写的代码能够在多个平台上运行,无需修改代码。
        丰富的类库:QT 提供了大量的类库,支持 GUI、文件操作、数据库连接、网络通信、多线程等功能,这样在开发类似串口助手,网络助手等软件就变得很简单。
        支持多种开发语言:虽然 QT 使用 C++ 作为主要编程语言,但它也提供了对 Python(PyQt)、JavaScript(Qt Quick)等语言的绑定支持。

        目前,我主要使用 C++ 语言开发,并且仅在 Windows 平台上进行过软件开发,其他平台和语言的使用还没有深入接触。

2.QT安装

        在了解QT是什么,有什么用之后,就是安装QT了。这也是一件比较麻烦的事情。首先需要明确的是,Qt本质上是一个跨平台的C++应用程序开发框架,而不是一个完整的开发环境。Qt框架本身包含以下几个重要组成部分:

  • Qt库:包括GUI、网络、数据库、XML处理等模块
  • Qt工具:如qmake构建系统、Qt Designer界面设计器等
  • Qt文档和示例代码

        最常用的 Qt 集成开发环境(IDE)是 Qt Creator,它是专门为 Qt 开发优化的跨平台 IDE。如果是初学者的话,我认为学习 Qt Creator 会更为合适。尽管在代码上差别不大,但安装库的方式有所不同,而且 Qt Creator 的使用人群相对较多。此外,在下载 Qt 时,只需勾选上 Qt Creator,安装过程就会自动配置好环境,省去了重新配置的麻烦,简单高效。
不过,由于我已经习惯使用 Visual Studio,因此选择了下载 Qt 后自己手动配置环境。其实,配置起来也并不复杂,因为我已经安装好了,不打算卸载重新来一次。所以,我在这里附上了我参考的安装文章,供大家参考。

【保姆级图文教程】最新Windows系统QT下载、安装、入门、配置VS Qt环境,图文详细、内容充实-CSDN博客https://blog.csdn.net/qq_62888264/article/details/132645054?fromshare=blogdetail&sharetype=blogdetail&sharerId=132645054&sharerefer=PC&sharesource=m0_69500424&sharefrom=from_link      需要提醒的是,记得下载 Qt 的开源版本,否则只能使用一段时间。此外,Qt 有多个版本,如图 1 所示。

以下是与不同 Visual Studio 版本匹配的 Qt 版本:

  • VS2015 —— Qt 5.6、5.7 、5.9
  • VS2017——Qt 5.9 ~Qt 5.14
  • VS2019/VS2022 —— Qt 5.14 ~ Qt 6

        另外,关于 C++ 编译器环境的选择,如图 2 所示。

图2 QT的C++编译环境
图2 QT的C++编译环境

        Qt 作为一个 C++ 开发框架,需要有 C++ 编译器的支持。在 Windows 上,可以使用 MSVC(我使用的是这个),也就是 Visual Studio 的 C++ 编译环境,或者使用 MinGW,它是类 Linux 的 C++ 环境。在 Linux 上,则使用 g++/gcc,而在 macOS 上,则使用 clang。

3.VS中使用QT开发全流程

 流程图

        开发流程图,如图3所示。

图3 VS中使用QT开发软件的流程图
图3 VS中使用QT开发软件的流程图

创建项目

        打开VS,然后点击“创建新项目”:

        点击QT的模板,然后点击“下一步”。

        为项目命名并选择项目的位置,然后点击“创建”。

        下图中分别是QT的 版本,然后选择debug模式编写,后面三个类是常用的类,如果想用其他的类可以再后面中添加。

        这里直接以项目名作为类,也可以改成其他名字,然后点击“finish”。

        创建完之后,就进入下面的界面。

first_app.ui:界面设计,点开之后就可以设计界面;

first_app.cpp:类的函数,写代码时函数就在这里写;

main.cpp:主函数,写代码的时候如果不写多界面,则可以不用理;

设计界面

        双击first_app.ui,进入Qt Design.

        选择需要的控件,并设计好界面,然后按“ctrl + s”保存。

        保存之后,回到VS中,目前还没有编译ui,还没生成对应的ui空间变量。

        右键first_app.ui,选择编译,就可以产生控件变量,如下:

声明函数

        在first_app.h中(在first_app.cpp中按住ctrl,点击first_app.h就可以进入first_app.h),用private slots:来声明函数,这是固定的格式。这样的函数就是first_app类的成员变量。

        然后回到first_app.cpp写出对应的函数void first_app::on_pushButton_clicked(),函数名是自定义的。

信号连接槽函数

       信号连接槽函数用connect(),用法如下:

connect(ui->pushButton_start, &QPushButton::clicked, this, &first_app::on_pushButton_Start_clicked);

  • 信号源ui->pushButton_start :信号的发射者,即监听的按钮控件。
  • 信号&QPushButton::clicked :监听的信号类型,在这个例子中是按钮的点击事件(clicked() 信号)。
  • 接收者对象this :接收信号的对象,表示当信号发射时,槽函数将在 first_app 类中执行。
  • 槽函数&first_app::on_pushButton_Start_clicked :要执行的槽函数,在按钮点击时被调用

        当不了解信号源可以监听哪些信号类型时,可以直接问ai,有奇效。

调试并运行

添加exe图标以及主窗口的图标

        没有bug之后就可以添加图标了。在此之前可以先在窗口中添加软件名:

        窗体添加图标

        先添加图标资源。

        然后会看到添加进来的图标:

        右键点击新加的图标,复制路径,粘贴到windowlcon的主题中,然后保存“ctrl + s”:

此时运行就可以看到窗口的图标了:

 添加exe图标       

        先将想作为图标的图片转为ico,对应的网站如下:

https://www.freeconvert.com/zh/png-to-ico/download

        在项目中右键,然后选择“添加”,点击“资源”。

        添加成功之后,在项目中可以看到添加进来的ico图标。

        如果添加有问题,则需要先删除原有的图标工程也就是.rc文件,然后再添加新的图标。

生成exe并打包软件

生成exe       

         将debug模式换成release模式,然后点击运行:

        在没有运行前是没有Release文件夹的:

        运行之后会自动生成Release文件夹,在其目录下还生成了exe软件。

       如果没有在Release的文件下生成exe文件,则可以按一下步骤解决问题:
(1)右键点击eth_app,然后选择属性

(2)点击常规,选择浏览,然后选择Release文件夹。

此问题的参考资料:https://blog.csdn.net/qq_57259389/article/details/135256173

        需要注意的是此时生成的exe文件还是依赖本地安装的Qt库,并没有将这些库文件打包都exe中,还需要用Enigma Virtual Box软件打包。

打包软件

        首先执行cmd指令,将 Qt 应用程序的所有必要的依赖库和插件打包到最终生成的可执行文件(.exe)旁边,方便后续软件打包。

D:\Application\Qt\install\6.5.3\msvc2019_64\bin\windeployqt.exe D:\QT\pro\first_app\x64\Release\first_app.exe

        第一条命令是 调用 windeployqt 工具 的路径,指明了工具的位置。  第二条指令中的windeployqt 将会分析这个 first_app.exe 文件,查找它所依赖的 Qt 库和插件,并将这些文件一并复制到与该 .exe 文件相同的目录中。执行结果:

        接下来,用用Enigma Virtual Box软件打包。首先打开软件,选择要打包的exe,并指定打包好后exe保存的位置和名字,(输出)也可以默认,如下:

        点击添加,添加文件夹递归选择当前放置.exe文件的文件夹(Release)弹出对话框点击确定

        点击文件选项,勾选压缩文件,点击确定:

        点击运行:

等待打包完成,关闭软件即可。

        运行完成之后会在刚刚指定的生成目录下生成打包好的exe软件。新出现的这个程序就是有动态编译库的文件,可以在没有装环境的计算机中运行。

        点击运行:

        至此一个基于Qt框架的软件就算开发成功了。

4.学习资料

        在学习 Qt 的过程中,我基本上是按照教程逐步学习了 Qt 的各个控件,这个教程内容非常全面。今天我想在这里与大家分享一下。

C++ Qt开发:ComboBox下拉组合框组件_qt下拉框控件-CSDN博客文章浏览阅读2.1w次,点赞37次,收藏52次。在Qt中,ComboBox(组合框)是一种常用的用户界面控件,它提供了一个下拉列表,允许用户从预定义的选项中选择一个。该组件提供了一种方便的方式让用户从预定义的选项中进行选择,一般来说`ComboBox`会以按钮的形式显示在界面上,用户点击按钮后,会弹出一个下拉列表,其中包含预定义的选项。当然`ComboBox`不仅局限于选择,也允许用户手动输入内容。_qt下拉框控件 https://lyshark.blog.csdn.net/article/details/134995874?spm=1001.2014.3001.5502        学习完这个教程就可以独立开发一些软件了,我觉得还挺有用的。

        以上就是本次记录了,Qt真的很好玩,有兴趣的同学可以学学。还有欢迎加我为好友(QQ:235840795),一起交流与学习!

http://www.dtcms.com/a/359716.html

相关文章:

  • 杂谈:大模型与垂直场景融合的技术趋势
  • 线程池八股文
  • 语义分析:从读懂到理解的深度跨越
  • Python基础:函数
  • Visual Studio Code中launch.json的解析笔记
  • 【Canvas与旗帜】哥伦比亚旗圆饼
  • 【芯片测试篇】:LIN总线
  • 人工智能-python-深度学习-
  • 自制扫地机器人(一)20 元级机械自动避障扫地机器人——东方仙盟
  • 计算机网络---http(超文本传输协议)
  • 【开题答辩全过程】以 留守儿童志愿者服务系统为例,包含答辩的问题和答案
  • 从企业和业务视角来拒绝中台
  • 什么是 WAF?全面解读 Web 应用防火墙的原理与应用
  • Vue3 响应式基础
  • TFS-2002《Fuzzy Clustering With Viewpoints》
  • 在SAP系统中,如何查询已经被打上了删除标记的生产订单?
  • AI 赋能 Java 开发效率:全流程痛点解决与实践案例(一)
  • 云网络(参考自腾讯云计算工程师认证)
  • 【开题答辩全过程】以 基于微信小程序的教学辅助系统 为例,包含答辩的问题和答案
  • ES集群部署-EFK架构实战
  • 【Python基础】2. 常量与变量
  • c++ Effective c++ 条款5
  • Ubuntu24.04(Jazzy)从零开始实现环境配置和Gmapping建图
  • 北京博乐科技有限公司2025届程序技术类笔试题
  • 京东获取商品评论指南,实时关注用户反馈
  • 【秋招笔试】2025.08.30科大讯飞秋招笔试题
  • PetaLinux的JTAG启动
  • Linux/UNIX系统编程手册笔记:用户和组、进程凭证、时间以及系统限制和选项
  • 创维LB2004_安装软件教程
  • vscode克隆远程代码步骤