【Qt开发流程】之HelloWorld程序

【Qt开发流程】之HelloWorld程序

      • 目的
      • 编写程序
        • 新建项目
        • 文件说明及界面设计
      • 程序运行及发布
        • 程序运行
        • 程序发布
          • 手动构建
          • 使用windeployqt进行构建
      • 设置应用程序图标
      • 修改快捷键
      • 类型列表
      • 命令行编译程序
      • 命令行编译.ui文件
      • 自定义类
      • 项目模式及项目文件介绍
        • 项目模式
        • 项目文件

目的

HelloWorld程序说起,项目创建、运行、发布过程;
将项目分解,从单一的主函数文件,到使用图形界面.ui文件,再到自定义C++类和Qt图形界面类。

编写程序

显示HelloWorld文本,这虽然是一个简单的程序,但却包含了一个程序的基本要素。一个复杂程序有的要素,它也具备。
在这里插入图片描述

新建项目
  1. 选择项目模板,使用Ctrl+N快捷键弹出以下
    在这里插入图片描述
  2. 输入项目信息,名称不能为中文,就标识符, 路径不可为中文
    在这里插入图片描述
  3. 套件选择,默认
    在这里插入图片描述
  4. 输入类信息
    在这里插入图片描述
  5. 汇总信息
    在这里插入图片描述
  6. 完成后,创建项目成功
    在这里插入图片描述
文件说明及界面设计

右键,选择在文件夹中打开
在这里插入图片描述
在这里插入图片描述
以上文件说明:

  • .pro:项目文件,包含项目相关信息
  • .pro.user:包含与用户有关的项目信息
  • .h:头文件
  • .cpp:源文件
  • main.cpp:入口
  • .ui:可以使用设计师进行界面设计
    在这里插入图片描述

程序运行及发布

程序运行
  1. 编译、构建
    点击小锤子或者Ctrl+B进行编译、构建。
    在这里插入图片描述

  2. 查看构建生成的文件
    生成makefile、及debug和release(根据模式进行中间文件生成)文件夹。
    在这里插入图片描述
    .o文件是中间文件
    helloWorld就是可执行程序,双击运行。
    在这里插入图片描述

  3. 运行
    双击运行。可能会缺少库,需要配置环境变量,将Qt的bin目录添加到环境变量,或者加所依赖的库添加到可执行程序所在目录。

程序发布
手动构建

选择release模式,进行构建,然后将所需的库添加到可执行程序所在目录。

使用windeployqt进行构建

在这里插入图片描述
进入exe所在目录。
运行命令:windeployqt helloWorld.exe
在这里插入图片描述
复制所需库,双击exe可以运行
在这里插入图片描述

设置应用程序图标

  1. 创建.ico文件
    创建一个.ico文件
    在这里插入图片描述
  2. 修改.pro文件
    在这里插入图片描述
  3. 重新构建
    此时,左上角图标已改变。
    在这里插入图片描述

修改快捷键

在这里插入图片描述

类型列表

在这里插入图片描述

命令行编译程序

前面我们使用QtCreator进行程序编译,下面使用命令行编译程序:

  1. 新建目录,手动创建qt工程目录
  2. 使用记事本创建main.cpp文件
  3. 使用命令行编译
    qmake -project命令,生成.pro文件,然后在.pro文件中添加以下代码
    QT += core gui
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
  4. 使用qmake命令生成用于编译的makefile文件
  5. 使用mingw32-make命令编译程序
  6. 进入exe目录,使用命令helloworld.exe运行程序

命令行编译.ui文件

命令:uic -o ui_helloworld.h helloworld.ui

自定义类

可以自定义类,实现其基类没有的功能。

在这里插入图片描述

项目模式及项目文件介绍

项目模式

按快捷键Ctrl+5,或者点击
在这里插入图片描述
可以设置构建版本,debug或release版本,还可以设置Qt版本。
Shadow build:影子构建,默认选择,这样,构建目录和源码目录可以分开设置。这是个很好的习惯。
编辑器、代码风格等可以选择默认。

项目文件

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/196748.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka学习笔记(三)

目录 第5章 Kafka监控(Kafka Eagle)5.2 修改kafka启动命令5.2 上传压缩包5.3 解压到本地5.4 进入刚才解压的目录5.5 将kafka-eagle-web-1.3.7-bin.tar.gz解压至/opt/module5.6 修改名称5.7 给启动文件执行权限5.8 修改配置文件5.9 添加环境变量5.10 启动…

【Java 进阶篇】深入理解 JQuery 事件绑定:标准方式

在前端开发中,处理用户与页面的交互是至关重要的一部分。JQuery作为一个广泛应用的JavaScript库,为我们提供了简便而强大的事件绑定机制,使得我们能够更加灵活地响应用户的行为。本篇博客将深入解析 JQuery 的标准事件绑定方式,为…

解决Redis分布式锁宕机出现不可靠问题-zookeeper分布式锁

核心思想:当客户端要获取锁,则创建节点,使用完锁,则删除该节点。 客户端获取锁时,在 lock 节点下创建临时顺序节点。然后获取 lock下面的所有子节点,客户端获取到所有的子节点之后,如果发现自己…

【C++】:STL——标准模板库介绍 || string类

📚1.什么是STL STL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且 是一个包罗数据结构与算法的软件框架 📚2.STL的版本 原始版本 Alexander Stepanov、Meng Lee 在…

基于SpringBoot的SSMP整合案例(业务层基础开发与快速开发)

业务层基础开发 接口类public interface BookService {boolean save(Book book);boolean update(Book book);boolean delete(Integer id);Book getById(Integer id);List<Book> getAll();IPage<Book> getByPage(int currentPage,int pageSize);IPage<Book> …

计算机算法分析与设计(23)---二分搜索算法(C++)

文章目录 1. 算法介绍2. 代码编写 1. 算法介绍 1. 二分搜索&#xff08;英语&#xff1a;binary search&#xff09;&#xff0c;也称折半搜索&#xff08;英语&#xff1a;half-interval search&#xff09;、对数搜索&#xff08;英语&#xff1a;logarithmic search&#xf…

RIP路由信息协议

RIP路由信息协议(Routing Information Protocol) 最先得到广泛应用的协议&#xff0c;最大优点是简单要求网络中的每个路由器都要维护一张表&#xff0c;表中记录了从它自己到其他每一个目的网络的距离RIP是应用层协议&#xff0c;它在传输层使用UDP&#xff0c;RIP报文作为UD…

pdf如何让多张图片在一页

pdf保存为一页六张图片的方法是&#xff1a; 1、打开pdf查看器,打开文档。 2、点击【打印】图标进入打印程序&#xff0c;选择打印范围。 3、在【打印处理】选项,选择【每张张上放置多页】。 4、自定义每页放置的图片张数为六张&#xff0c;并对打印排版预览设置。 5、设置打印…

SpringBoot-配置文件properties/yml分析+tomcat最大连接数及最大并发数

SpringBoot配置文件 yaml 中的数据是有序的&#xff0c;properties 中的数据是无序的&#xff0c;在一些需要路径匹配的配置中&#xff0c;顺序就显得尤为重要&#xff08;例如在 Spring Cloud Zuul 中的配置&#xff09;&#xff0c;此时一般采用 yaml。 Properties ①、位…

Nginx(六) Nginx location 匹配顺序及优先级深究(亲测有效)

Nginx配置文件详解请参考另一篇文章 Nginx(三) 配置文件详解 本篇文章主要是探讨Nginx location的匹配顺序&#xff0c;依照惯例&#xff0c;我们还是先贴结论再看测试结果。 匹配顺序 匹配location的过程&#xff0c;其实可以理解成一个在众多选项中寻找最佳答案的过程。当然…

ElasticSearch 安装(单机版本)

文章目录 ElasticSearch 安装&#xff08;单机版本&#xff09;环境配置下载安装包调整系统参数安装启动并验证 ElasticSearch 安装&#xff08;单机版本&#xff09; 此文档演示 ElasticSearch 的单机版本在 CentOS 7 环境下的安装方式以及相关的配置。 环境配置 Linux 主机一…

物联网网关在工业行业的应用案例

物联网网关在工业行业的应用案例 随着物联网技术的不断发展&#xff0c;物联网网关在工业行业的应用越来越广泛。本文将介绍一个物联网网关在工业行业的应用案例&#xff0c;以期为相关领域的研究和实践提供借鉴和启示。 一、案例背景 某大型制造企业是一家全球知名的汽车制…

【MySQL】运行报错:ERROR 1193 (HY000): Unknown system variable ‘tx_isolation‘ 查看隔离级别报错

1、查看事务隔离级别的时候报错&#xff1a; 原因&#xff1a; 老版本 MySQL 比如 5 中用的是 tx_isolation&#xff0c;而应该是在 5.7.20 版本之后&#xff0c;用的是 transaction_isolation。 所以&#xff1a;在 MySQL 8 及之后的版本中&#xff0c;只需将语句中的 tx_isol…

学习c#的第十四天

目录 C# 接口&#xff08;Interface&#xff09; 接口的特点 定义接口 接口继承 接口和抽象类的区别 C# 命名空间&#xff08;Namespace&#xff09; using 关键字 定义命名空间 嵌套命名空间 C# 接口&#xff08;Interface&#xff09; 接口定义了所有类继承接口时应…

LeetCode47-全排列II-剪枝逻辑

参考链接: &#x1f517;:卡尔的代码随想录:全排列II 这里第一层,used只有一个元素为1,代表只取出了1个元素作为排列,第二层used有两个元素为1,代表取出了2个元素作为排列,因为数组有序,所以重复的元素都是挨着的,因此可以使用如下语句去重. 其中visit[i-1]False的话,就是代表…

机器学习第6天:线性回归模型正则化

文章目录 机器学习专栏 正则化介绍 岭回归 岭回归成本函数 核心代码 示例 Lasso回归 Lasso回归损失函数 核心代码 弹性网络 弹性网络成本函数 核心代码 结语 机器学习专栏 机器学习_Nowl的博客-CSDN博客 正则化介绍 作用&#xff1a;正则化是为了防止模型过拟合…

​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​

软考-高级-系统架构设计师教程&#xff08;清华第2版&#xff09;【第9章 软件可靠性基础知识&#xff08;P320~344&#xff09;-思维导图】 课本里章节里所有蓝色字体的思维导图

vs2017打开工程提示若要解决此问题,请使用以下选择启动 Visual Studio 安装程序: 用于 x86 和 x64 的 Visual C++ MFC

下载安装文件。 下载之后点击C项目&#xff0c;他会提示需要安装编译依赖。这个时候需要选择 用于 x86 和 x64 的 Visual C MFCWindows SDK 版本8.1 点击右下角的安装等待即可 error MSB8036: 找不到 Windows SDK 版本8.1。请安装所需的版本的 Windows SDK 或者在项目属性页…

Excel vlookup 如何使用

Excel vlookup 如何使用 打开WX, 搜索 “程序员奇点” Excel vlookup可以说是利器&#xff0c;非常好用的工具&#xff0c;用来查询 Excel 或者进行数据匹配&#xff0c;十分方便。 VLookuP 如何使用&#xff0c;不常用的同学经常容易忘记&#xff0c;这次做个记录&#xff…

【数据分享】2023年我国省市县三级的专精特新“小巨人”企业数量(Excel/Shp格式)

企业是经济活动的参与主体。一个城市的企业数量决定了这个城市的经济发展水平&#xff01;比如一个城市的金融企业较多&#xff0c;那这个城市的金融产业肯定比较发达&#xff1b;一个城市的制造业企业较多&#xff0c;那这个城市的制造业肯定比较发达。 之前我们给大家分享了…