1、QT新建工程

news2024/12/29 11:14:05

本章内容:本章建立一个简单的QT工程,并且对工程目录进行重新管理,再进行windows端打包部署,方便开发

一、建立工程

创建windows UI应用程序工程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到此,工程就已经建立完毕能正常运行了…

二、工程目录重新管理

在这里插入图片描述
由此可以看出,对于简单的项目来说默认地分为头文件和源文件目录影响不大,但是对于工程大了以后,文件较多时此目录就难以阅读使用,如果没有对工程文件进行合理地分类管理,就会造成工程文件混乱,代码维护效率低下、可移植性较差等问题了

1、在工程路径下新建文件夹
在这里插入图片描述
2、每个文件夹下都添加此空文件:文件夹名.pri
在这里插入图片描述
3、更改工程.pro管理文件
在这里插入图片描述
SoftwareApp.pro原文件内容:

#-------------------------------------------------
#
# Project created by QtCreator 2023-07-12T14:46:22
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = SoftwareApp
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0


SOURCES += \
        main.cpp \
        pmain.cpp

HEADERS += \
        pmain.h

FORMS += \
        pmain.ui

修改此文件后ctr+s保存
在这里插入图片描述
SoftwareApp.pro修改后文件内容:

#-------------------------------------------------
#
# Project created by QtCreator 2023-07-12T14:46:22
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = SoftwareApp
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

# 添加文件搜索路径,及引用文件;注:$$PWD表示文件当前路径
INCLUDEPATH += $$PWD/driver/    \
            += $$PWD/library/   \
            += $$PWD/resource/  \
            += $$PWD/src/       \
            += $$PWD/ui_file/

include($$PWD/driver/driver.pri)
include($$PWD/library/library.pri)
include($$PWD/resource/resource.pri)
include($$PWD/src/src.pri)
include($$PWD/ui_file/ui_file.pri)


在这里插入图片描述
4、将ui文件放到ui_file文件夹中,main.cpp文件放到src文件中
在这里插入图片描述
在这里插入图片描述
5、修改相应的pri文件
修改文件:ui_file.pri

SOURCES += \
        $$PWD/pmain.cpp

HEADERS += \
        $$PWD/pmain.h

FORMS += \
        $$PWD/pmain.ui

修改文件:src.pri

SOURCES += \
        $$PWD/main.cpp

HEADERS +=

FORMS +=

修改文件:driver.pri:此文件夹暂时无其他文件

SOURCES +=

HEADERS +=

FORMS +=

修改文件:library.pri:此文件夹暂时无其他文件

SOURCES +=

HEADERS +=

FORMS +=

修改文件:resource.pri:此文件夹暂时无其他文件

SOURCES +=

HEADERS +=

FORMS +=

文件保存后会目录自动刷新
在这里插入图片描述
6、选择构建->执行重新构建项目
在这里插入图片描述
7、调试运行
在这里插入图片描述
此时,工程目录重新管理成功

二、工程打包部署

1、修改工程App图标:图标文件格式**.ico**,其他格式不支持
在这里插入图片描述
2、修改pro文件:添加app图标再保存

RC_ICONS=$$PWD/resource/app_sign.ico   #app图标文件

在这里插入图片描述
3、工程切换到发布模式,然后再编译运行
在这里插入图片描述
在这里插入图片描述

4、找到工程的构建文件夹
在这里插入图片描述
5、新建一个打包文件,用于发布使用;并且将刚才的SoftwareApp.exe可执行文件复制到此文件夹
在这里插入图片描述
在这里插入图片描述
6、运行QT控制台
在这里插入图片描述
在这里插入图片描述
7、QT控制台命令进入App_Pack文件夹所在路径
在这里插入图片描述
8、输入命令使用windeployqt工具把库添加至App_Pack文件夹中

windeployqt SoftwareApp.exe

在这里插入图片描述
在这里插入图片描述
此时点击exe即可运行了
在这里插入图片描述
发布时将App_Pack文件夹压缩发给他人使用即可,注:此时可以直接将exe文件发送快捷键至桌面使用啦
到此,QT工程就弄好了…

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

canvas的用法,使用vue3和canvas画一个树

一,canvas简介 是 HTML5 新增的,一个可以使用脚本(通常为 JavaScript) 在其中绘制图像的 HTML 元素。它可以用来制作照片集或者制作简单(也不是那么简单)的动画,甚至可以进行实时视频处理和渲染。 详情点击链接,前去菜鸟教程或者…

牛客网最新版 Java 面试题大全带答案 1100 多题(限时分享)

面试题就好像科举考试时代背的八股文,是知识改变命运的代表作。你不刷,不管是校招还是社招,就很过这一关。面试前还是很有必要针对性的刷一些题,很多朋友的实战能力很强,但是理论比较薄弱,面试前不做准备是…

MySQL数据备份与还原、索引、视图

一.备份与还原 /***************************样例表***************************/ CREATE DATABASE booksDB; use booksDB; CREATE TABLE books ( bk_id INT NOT NULL PRIMARY KEY, bk_title VARCHAR(50) NOT NULL, copyright YEAR NOT NULL …

Unity2019_寻路系统

简单导航寻路功能 选定为静态网格导航 Windows>Ai>Navigation,点击烘焙 角色上挂一个导航网格组件 挂上脚本,鼠标点击位置设置为导航的终点 using UnityEngine; using UnityEngine.AI;public class PalyerMovement : MonoBehaviour {private Nav…

Mysql——》数据目录

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

vue3 KeepAlive实操

一.相关文档 KeepAlive 官方文档Vue Router 文档Pinia 文档 二.需求 首页->列表 —不缓存列表列表->详情 —缓存列表详情->列表 — 恢复列表缓存 三.代码如下 1.定义pinia export const useStore defineStore(store, {state: () > ({cachedList: [] //缓存白…

校园课表微信小程序全栈项目

遇到的第一个问题关于npm start 首先找到对应的后端项目 crtl shift (esc键下的波浪号) 召唤终端 Error:Cannot find module dotenv 解决问题: npm install dotenv 简写 npm i dotenv 然后遇到第二个问题 Port 3000 is already in use 我的3000接口被占用 那就要去检…

【直到用了Tabby这款开源好用的终端工具,直接和Xshell、Putty、FinalShell告别】

🚀 AI破局先行者 🚀 🌲 AI工具、AI绘图、AI专栏 🍀 🌲 如果你想学到最前沿、最火爆的技术,赶快加入吧✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆&am…

红队攻击:初始访问

聆听你的声音 如果你有独到的想法和建议,欢迎私信与我一同分享! 公众号:安全攻防渗透 0x01 windows-多账户同时登陆 描述 攻击者可能会获取并滥用本地帐户的凭据,以获取初始访问权限,持久性,权限提升或…

未设置Strict-Transport-Security响应头【原理扫描】

IIS环境检测到网站存在响应头缺失漏洞解决办法: 1.webconfig中添加响应头 <?xml version"1.0" encoding"UTF-8"?> <configuration><system.webServer><directoryBrowse enabled"false" /><httpProtocol><cu…

Elasticsearch 8.8.1安装及启动

华为云的镜像去下载 ElasticSearch: https://mirrors.huaweicloud.com/elasticsearch/?CN&OD logstash: https://mirrors.huaweicloud.com/logstash/?CN&OD kibana: https://mirrors.huaweicloud.com/kibana/?CN&OD 原文链接&#xff1a;https://blog.csdn.ne…

AI加速财务智能化,实在智能、优贲财税、楚云科技共探数字员工新未来

作为财务发展的最新前沿&#xff0c;智能财务正在逐步渗入日常工作中&#xff0c;加快企业数字化转型步伐&#xff0c;促进我国财务信息化建设的快速发展。在当前形势下&#xff0c;企业应如何进行数字化转型以重塑业务、财务和税务等关系&#xff0c;形成管理闭环&#xff0c;…

注解和反射03(Java)

#拓展开题&#xff1a; 类的加载与ClassLoader的理解 什么时候会发生类初始化&#xff1f; 类加载器的作用 动态创建对象执行方法 有了Class对象&#xff0c;能做什么&#xff1f; newInstance()是一个Java中使用反射创建对象实例的方法&#xff0c;通过该方法可以获取类的构…

智能物流监控系统的数据平台技术研究

完整资料进入【数字空间】查看——baidu搜索"writebug" 1.1 项目背景 物联网技术是利用传感器嵌入各种末端设备&#xff0c;通过无线或有线网络接入互联网以实现人与物、物与物实时互联的新兴技术[1]。 智能物流监控系统是在物流量越来越大、物流价值越来越贵重的背…

【Distributed】zookeeper+kafka的应用及部署

文章目录 一、zookeeper1. zookeeper的概述1.1 Zookeeper 定义1.2 Zookeeper 工作机制1.3 Zookeeper 特点1.4 Zookeeper 数据结构1.5 Zookeeper 应用场景1.6 Zookeeper 选举机制第一次启动选举机制非第一次启动选举机制选举Leader规则 2. 部署 Zookeeper 集群2.1 安装前准备2.2…

MySQL数据库表数据的基本操作

目录 1.创建表 2.插入数据 3.修改表数据 3.1、将所有员工薪水修改为5000元 ​3.2、将姓名为张三的员工薪水修改为3000元 ​3.3、将姓名为李四的员工薪水修改为4000元gender改为女 ​3.4、将王五的薪水在原有基础上增加1000元 4、MySQL字符集 1.创建表 创建员工表emplo…

【技巧】Latex在线工具:公式编辑器、表格编辑器

找到什么再补充 目录 表格编辑器 公式编辑器 表格编辑器 https://www.tablesgenerator.com/ 公式编辑器 https://www.latexlive.com/

数据库开发和数据库管理有什么区别?

数据库开发&#xff08;Database Development&#xff09;和数据库管理&#xff08;Database Administration&#xff09;是数据库领域中的两个关键角色和职责。 我这里刚好有嵌入式、单片机、plc的资料需要可以私我或在评论区扣个6 数据库开发人员专注于以下方面&#xff1a…

windows安装gitlab-runner提交gitlab自动打包maven包

运行环境&#xff1a; 私服gitlab,想使用gitlab的ci/cd自动打包&#xff0c;不需要将打好的包部署到远程服务器而是保存在本地的&#xff0c;可以在本地安装gitlab-runner,打好的包直接在本地生成 本地是window环境 1 本地安装maven https://maven.apache.org/download.cgi …

Python批量对word文件重命名

一、背景 在日常工作或学习中&#xff0c;我们可能会遇到需要对大量的 Word 文件进行重命名的情况。手动一个一个修改文件名费时费力&#xff0c;而编写一个 Python 脚本则可以自动化完成这个任务&#xff0c;提高效率。 二 、开发环境 为了实现批量对 Word 文件进行重命名的功…