C++ Qt开发:Qt的安装与配置

news2024/10/6 22:24:49

Qt是一种C++编程框架,用于构建图形用户界面(GUI)应用程序和嵌入式系统。Qt由Qt公司(前身为Nokia)开发,提供了一套跨平台的工具和类库,使开发者能够轻松地创建高效、美观、可扩展的应用程序。其被广泛用于开发桌面应用程序、嵌入式系统、移动应用程序等。无论是初学者还是经验丰富的开发者,Qt都为构建高质量、可维护的应用程序提供了丰富的工具和支持。

关于C++ Qt的一些关键特点和用途:

  1. 跨平台性: Qt是一个跨平台的框架,支持主流的操作系统,包括Windows、macOS、Linux以及一些嵌入式系统。这使得开发者能够编写一次代码,然后在多个平台上运行,大大简化了跨平台应用程序的开发。
  2. 图形用户界面(GUI)设计: Qt提供了强大的GUI工具包,允许开发者通过可视化设计工具创建用户界面。Qt的设计哲学注重直观性和易用性,使得创建各种复杂的GUI应用程序变得相对容易。
  3. 信号与槽机制: Qt引入了一种灵活的信号与槽机制,用于处理对象之间的通信。这种机制使得对象能够在不直接了解其他对象的情况下相互通信,提高了代码的可维护性和可扩展性。
  4. 模块化设计: Qt采用了模块化的设计,提供了丰富的类库覆盖了诸如图形渲染、文件I/O、网络通信、数据库访问等多个领域。这使得开发者能够在项目中选择需要的模块,避免不必要的代码冗余。
  5. 国际化支持: Qt支持国际化和本地化,使得应用程序能够轻松地适应不同的语言和文化环境。
  6. 开放源代码: Qt是一款开源框架,拥有活跃的社区支持。开发者可以自由使用、修改和分发Qt的源代码,也可以根据需要选择商业许可证。
  7. Qt Creator集成开发环境(IDE): Qt Creator是专为Qt设计的集成开发环境,提供了强大的代码编辑、调试和可视化设计工具,使得开发过程更加高效。

1.1 如何安装与配置

安装和配置Qt通常涉及以下步骤。请注意,这里提供的步骤基于一般情况,具体步骤可能会有所不同,具体取决于您使用的操作系统。以下是一个基本的指南:

Qt的下载可以去官方网站,这里我就以5.14.2这个版本为例,请读者也和我使用相同的版本,如下结果是Qt下载页面;

  • 下载地址:https://download.qt.io/archive/qt/5.14/5.14.2/

这里我认为有必要说一下这些目录分别代表了什么,这个解释我将其归纳为了如下表所示的说明信息,读者可自行参考学习;

目录说明
archive各个Qt版本的安装包、配套工具包等(注意,清华站相比主站做了裁剪,只能看到5.9之后的版本)
community_releases社区定制的Qt 库,不用理会
development_releases开发版,有新的和旧的不稳定版本,在Qt 开发过程中的非正式版本。
learning一些学习资料
linguist_releases一款软件,目前我没用到,未仔细研究
ministro迷你版,目前是针对Android的版本。
official_releases正式发布版,是与开发版相对的稳定版Qt库和开发工具,我们选择时,应选择此处的版本
onlineQt 在线安装源
snapshots预览版,最新的开发测试中的 Qt 库和开发工具。

当下载好对应的安装程序之后就可以安装了,直接qt-opensource-windows-x86-5.14.2.exe运行程序,会出下如下界面,直接点击下一步跳转到登录页面,这个登陆页面可以直接输入一个错误的账号密码,然后点击返回按钮,之后就可以跳转到安装页面,此页面并不是强制的。

为了保证安装组件的齐全,这里读者务必全部打勾,完全充分安装需要10GB的空间,此时应做好准备,如下图所示;

安装结束后就可以看到开始菜单的,Qt Creator 4.11.1 (Community)程序,直接打开该程序就可以进入到Qt的开发页面中,如下图所示;

以上步骤是一个基本的安装和配置过程,具体步骤可能因Qt版本和操作系统而异。在安装和配置过程中,可以参考Qt的官方文档和安装向导,这将提供更详细和特定的说明。

1.2 配置VisualStudio

Qt 提供了 Visual Studio 插件,以便更方便地在 Visual Studio 中进行 Qt 项目的开发。以下是配置 Qt Visual Studio 插件的一般步骤:

首先要下载对应的插件文件,根据读者自己安装的VisualStudio版本来选择不同的插件,由于我使用的是VS2013所以这里选择2.3.0的版本,如下图读者可自行选择对应的版本下载使用。

  • 插件下载:https://download.qt.io/development_releases/vsaddin/2.3.0/

读者首先需要安装好Visual Studio开发环境并确保Qt已安装,只需要双击运行qt-vsaddin-msvc2013-2.3.0.vsix等待初始化并直接点击下一步即可完成,如下图所示;

此时打开Qt Creator 4.11.1 (Community)的根目录,可以看到如下图所示的开发库,这里由于最低版本是VS2015的所以就以该案例为例子讲解配置流程,读者需要安装最低版本为Visual Studio 2015才可以正常配置。

此处的头文件和库目录就是需要配置的环境变量,打开环境变量,并依次配置如下两个头文件到系统中;

  • 头文件目录:C:\Qt\Qt5.14.2\5.14.2\msvc2015_64\include
  • 库目录:C:\Qt\Qt5.14.2\5.14.2\msvc2015_64\lib

接着打开visual studio,点击Qt VS Tools>Qt Options>add new Qt version,点击Path选择位置,当配置好以后那么就可以使用这个环境变量了,如下图所示;

此时读者可以新建一个项目,在项目选项卡中就会出现Qt的相关程序创建流程,如下图所示;

以上步骤是一个通用的配置过程,具体步骤可能会因使用的 Qt 和 Visual Studio 版本而有所不同。在进行配置时,请确保参考 Qt 和 Visual Studio 的官方文档,以获取最准确和详细的说明。

1.3 如何打包Qt程序

Qt Creator是由Qt公司开发的一个集成开发环境(IDE),专门用于Qt应用程序的设计、开发和调试。它提供了一套工具,使得开发者能够更轻松地创建跨平台的图形用户界面(GUI)应用程序以及其他类型的应用程序。Qt Creator作为Qt应用程序的首选IDE,提供了全面的开发工具,使得开发者能够高效、便捷地进行Qt项目的开发。其友好的用户界面和强大的功能集成,使得它成为许多开发者选择的首选工具之一。

Qt程序的创建非常简单,只需要打开Qt Creator主页面,选中文件并新建,在弹出的选择菜单中Qt Widgets Application用于新建窗体应用程序,而Qt Console Application则用于新建命令行程序,我们以窗体程序为例,直接点击Choose按钮创建新程序,如下图;

读者只需要根据提示信息选择对应的创建位置其他参数保持默认即可,需要注意在Kit选项卡中,读者最好选择MinGW编译器以方便课程的跟进,如下图所示;

此时我们只需要点击运行按钮,程序就可以被启动,如下图所示就是一个启动后的案例;

当您在Qt程序编译完成后,需要将其独立于开发环境并在其他机器上正常运行时,可以通过手动拷贝所需文件或使用Qt提供的工具进行自动打包。以下是手动拷贝所需文件的步骤以及使用windeployqt工具进行自动打包的说明:

1.打开Qt自带的命令终端程序,此处的终端程序在开始菜单中可以找到,并跳转到编译好的程序中去,此时如果运行程序则会提示找不到库,这就是没有打包造成的,如下图;

2.执行windeployqt untitled.exe命令进行自动打包。如果是自动打包我们可以进入Qt提供的命令行页面,跳转到需要打包程序的目录下,执行命令即可打包出所有的依赖文件,如下图;

如果需要去掉不必要的库文件,可以使用--no-参数排除多余的动态链接库。例如,去掉ANGLE和OpenGL Software支持:

windeployqt --no-angle --no-opengl-sw untitled.exe

打包完成后,手动删除多余文件,只保留以下文件即可:

  • untitled.exe(或您的程序名称)
  • libgcc_s_dw2-1.dll
  • libstdc++-6.dll
  • libwinpthread-1.dll
  • Qt5Core.dll
  • Qt5Gui.dll
  • Qt5Widgets.dll
  • platforms/qwindows.dll

当然,如果是手动拷贝文件而不适用打包命令,则只需要从Qt安装目录的bin目录中复制以下文件到您的程序目录:

  • libgcc_s_dw2-1.dll
  • libstdc++-6.dll
  • libwinpthread-1.dll
  • Qt5Core.dll
  • Qt5Gui.dll
  • Qt5Widgets.dll

\mingw514_32\plugins目录中复制platforms文件夹,仅保留其中的qwindows.dll文件。

通过执行这些步骤,您将能够将Qt程序独立于开发环境,并在其他机器上运行。确保使用正确的Qt版本和编译工具,以确保库和依赖项的正确匹配。

当我们打包完成后,直接运行主程序将可以脱离Qt环境直接使用,如下图所示;

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

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

相关文章

元宇宙vr党建云上实景展馆扩大党的影响力

随着科技的飞速发展,VR虚拟现实技术已经逐渐融入我们的日常生活,尤其在党建领域,VR数字党建展馆更是成为引领红色教育新风尚的重要载体。今天,就让我们一起探讨VR数字党建展馆如何提供沉浸式体验,助力党建工作创新升级…

无头浏览器与Selenium:探索无界爬虫的奇妙世界

selenium设置无头浏览器 背景 ​ 我们之前的selenium都是浏览器驱动自动打开一个网页,执行相关操作,其实也可以让其后台显示,不用在前台显示。 ​ 要设置无头浏览器,可以使用Selenium的Headless模式。在Headless模式下&#xf…

解读 | 阿里通义千问模型全尺寸开源 “诚意满满“背后的名与利

大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 12 月 1 日阿里开源…

【深度挖掘Java性能调优】「底层技术原理体系」深入挖掘和分析如何提升服务的性能以及执行效率(性能三大定律)

深入挖掘和分析如何提升服务的性能以及执行效率 前提介绍知识要点 性能概述教你看懂程序的性能案例介绍性能指标性能的参考指标性能瓶颈(木桶原理) 性能分析三大定律Amdahl定律计算公式参数解释案例分析定律总结 Gustafson定律与Amdahl定律相对立Gustafs…

Postman和Apifox针对不同环境、全局变量的使用与比较

文章目录 一、Postman1、配置环境和全局变量2、验证3、存在问题分析 二、Apifox1、配置环境和全局参数2、创建公共脚本3、测试 总结 一、Postman 1、配置环境和全局变量 在Postman的界面中,点击"Environment",添加我们需要的环境&#xff0c…

基于Python+WaveNet+MFCC+Tensorflow智能方言分类—深度学习算法应用(含全部工程源码)(二)

目录 前言引言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理1)数据介绍2)数据测试3)数据处理 相关其它博客工程源代码下载其它资料下载 前言 博主前段时间发布了一篇有关方言识别和分类模型训练的博客,在读者…

10 大 Android 手机系统修复软件深度评测

您的新 Android 手机可能因其令人兴奋的性能而印象深刻。然而,随着时间的推移,您可能会发现系统有些地方与以前不太一样。您可能会遇到屏幕无响应、 Android应用程序崩溃、连接问题、电池耗尽等现象。 10 大 Android 手机系统修复软件 好吧,…

伦茨科技宣布ST17H6x芯片已通过Apple Find My「查找」认证

深圳市伦茨科技有限公司(以下简称“伦茨科技”)发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家,该平台提供可通过Apple Find My认证的Apple查找(Find My)功能集成解决方案。…

五、HotSpot细节实现

一、并发标记与三色标记 问题:三色标记到底发生在什么阶段,替代了什么。并发标记 1、并发标记( Concurrent Marking) 从 GC Root 开始对堆中对象进行可达性分析,递归扫描整个堆里的对象图,找出要回收的对象,这阶段耗…

Debian Linux安装配置ibus rime中文输入法

Linux安装配置Rime 安装 清除所有fcitx软件包 sudo apt purge fcitx*安装ibus和ibus-rime sudo apt install ibus ibus-rime启用输入法 找到输入法配置 启用ibus输入法 此时由于刚安装完毕ibus并没有启动 要么重启系统 要么输入下面的命令 ibus-daemon -drx找到ibus首选…

Python 模板引擎 Jinja2 的安装和使用

目录 一、概述 二、安装 Jinja2 三、使用 Jinja2 四、Jinja2的强大功能和优点 五、总结 一、概述 Jinja2 是 Python 中广泛使用的一种模板引擎,它具有灵活的语法、强大的控制结构、方便的 API,以及高效的渲染速度。通过使用 Jinja2,开发…

TQ2440开发板-按键驱动程序设计

目录 按键测试底板原理图核心板原理图使用轮询方式设计按键程序 按键测试底板原理图 TQ2440开发板有4个用户可编程按键,它们直接与CPU的GPIO相连,低电平触发中断,资源占用如下图所示: 核心板原理图 使用轮询方式设计按键程序 按…

web前端实现LED功能、液晶显示时间、数字

MENU 效果演示html部分JavaScript部分css部分 效果演示 html部分 <div id"app"><!-- 页面 --><div class"time-box"><!-- 时 --><div class"house-box"><bit-component :num"houseTem"></bit…

Mabatis处理异常屏蔽SQL返回前端全局异常捕获处理

文章目录 Mabatis处理异常屏蔽SQL返回前端全局异常捕获处理结论1 java异常体系2 Spring框架异常处理3 定位Spring框架转化为哪种unchecked异常3.1 捕获RuntimeException定位Spring框架转化抛出的异常类3.2 进一步查看包名判断3.3 识别MyBatisSystemException下级实现3.3 识别My…

2、关于使用ajax验证绕过(实例2)

ajax原理我上一篇有写过&#xff0c;参考&#xff1a;1、关于前端js-ajax绕过-CSDN博客 一、实例环境&#xff1a; 为手机上的某一割韭菜app 二、目的&#xff1a; 实现绕过手机验证码&#xff0c;找回密码 三、工具&#xff1a; bp代理 四、验证步骤如下&#xff1a; …

AI仿写软件大全,当然热门的仿写软件

在创作过程中&#xff0c;往往需要大量的灵感和原创性&#xff0c;而AI仿写软件便提供了一种高效、智能的解决方案。本文旨在专心分享AI仿写软件有哪些&#xff0c;并为大家解析哪几款好用的AI仿写软件。 AI仿写的使用 随着互联网的快速发展&#xff0c;内容创作需求不断增长&…

linux-man命令的使用及练习

目录 1. 命令概述 2. 使用 3. 练习 ?man services时报错&#xff1a;No manual entry for services的解决办法 4. man命令中常用按键以及用途 1. 命令概述 Linux提供了丰富的帮助手册&#xff0c;当你需要查看某个命令的参数时不必到处上网查找&#xff0c;只要man一下即…

基于JAVA+SpringBoot+Vue的前后端分离的旅游网站

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 近年来&#xff0c;随…

智能优化算法应用:基于袋獾算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于袋獾算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于袋獾算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.袋獾算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Git 请输入一个提交信息以解释此合并的必要性

操作方法&#xff1a;按住Ctrl加下面的某个字母