【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.hqwc.cn/news/192267.html

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

相关文章

【LeetCode刷题日志】225.用队列实现栈

🎈个人主页:库库的里昂 🎐C/C领域新星创作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:LeetCode 刷题日志🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,…

青少年CTF-WEB-Flag在哪里?

题目环境:F12查看源代码得到flag:qsnctf{1167716c-54f0-47da-baed-49e3b08dfaeb} 此题主要考察F12查看源代码的使用

趣学python编程 (二、计算机硬件和用途介绍)

1944年,美籍匈牙利数学家 冯诺依曼 提出计算机基本结构和工作方式的设想,为计算机的诞生和发展提供了理论基础。时至今日,尽管计算机软硬件技术飞速发展,但计算机本身的体系结构并没有明显的突破,当今的计算机仍属于冯…

Spring Framework 6.1 正式 GA

Spring Framework 6.1在运行时方面针对 JDK 21 和 Jakarta EE 10 上提供了一级支持,同时保留了 JDK 17 和 Jakarta EE 9 基线。Spring 还通过精细的元数据推理跟踪 GraalVM for JDK 21 的演变,同时暂时保持与 GraalVM 22.3 的兼容性。 主要变化 支持 JD…

PHP排序sort()、asort() 和 ksort() 的区别及用法

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…

十. Linux关机重启命令与Vim编辑的使用

关机重启命令 shutdown命令 其他关机命令 其他重启命令 系统运行级别 系统默认运行级别与查询 退出登录命令logout 文本编辑器Vim Vim简介 没有菜单,只有命令Vim工作模式 Vim常用命令 插入命令 定位命令 删除命令 复制和剪切命令 替换和取消命令 搜索和搜索替换命令 保存和退出…

科研学习|科研软件——面板数据、截面数据、时间序列数据的区别是什么?

一、数据采集方式不同 面板数据是通过在多个时间点上对同一组体进行观测而获得的数据。面板数据可以是横向面板数据,即对同一时间点上不同个体的观测,也可以是纵向面板数据,即对同一个体在不同时间点上的观测。采集面板数据需要跟踪相同的个体…

Vue3-自定义hook函数

Vue3-自定义hook函数 功能:可以将组合式API封装成一个函数,用于解决代码复用的问题。注意:需要在src文件夹下创建一个文件夹hooks,在里面放js文件,命名随意,主要是将setup函数中的代码放入js文件中。 // s…

计算机指令的流水线执行与流水线冒险

目录 计算机指令流水线 流水线冒险 结构冒险 数据冒险 前推/旁路(forwarding/bypassing) 前推阻塞 控制冒险 BTB(Branch Target Buffer) 计算机指令流水线 流水线方式的洗衣房可以以并行的方式提高性能 计算机执行指…

【实用技巧】更改ArduinoIDE默认库文件位置,解放C盘,将Arduino15中的库文件移动到其他磁盘

本文主要介绍更改Arduino IDE (含2.0以上版本)默认库文件位置的方法。 原创文章,转载请注明出处: 【实用技巧】解放系统盘,更改ArduinoIDE默认库文件位置,将Arduino15中的库文件移动到其他磁盘-CSDN博客文…

QGIS003:【05高级数字化工具栏】-要素移动、修改、合并操作

摘要:QGIS地图导航工具栏包括激活高级数字化工具、移动要素、旋转要素、缩放要素、简化要素、添加环、添加部件、填充环、删除环、删除部件、重塑要素、偏移曲线、反转线、裁剪/扩展要素、分割要素、分割部件、合并所选要素、合并所选要素的属性、旋转点符号等选项&…

PHP 中传值与传引用的区别,什么时候传值什么时候传引用?

传值:当使用传值的方式时,函数或方法会创建原始变量的一个副本,并将该副本传递给函数或方法。在函数或方法内部,对副本的任何修改都不会影响到原始变量。当函数或方法执行完毕后,副本被销毁,不再使用。 传引…