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下载页面;

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

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

读者首先需要安装好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环境直接使用,如下图所示;

C++ Qt开发:Qt的安装与配置的更多相关文章

  1. 【C#】VS2015开发环境的安装和配置(二)2016-08-03更新

    分类:C#.VS2015.WPF.ASP.NET MVC.Android.iOS.Unity3D: 更新日期:2016-08-03 按下面介绍的步骤安装即可. 一.安装JDK和Android SDK ...

  2. 【C#】VS2015开发环境的安装和配置(一)2016-08-03更新

    分类:C#.VS2015.WPF.ASP.NET MVC.Android.iOS.Unity3D: 更新日期:2016-08-03 一.简介 为了避免网上乱七八糟的过时介绍,避免误导初学者,这次把至2 ...

  3. go 语言开发环境的安装与配置

    go 语言开发环境的安装与配置 编辑器选择 一直以来都是用sublime,但是听说sublime对于golang的插件支持并不是特别完善,并且VS Code只要在自身所带的扩展商店里安装go插件就可以 ...

  4. Qt资源下载、安装、配置

    (一)资源下载: 硕士毕业论文要做一个仿真平台,在linux环境下利用Qt开发. 自己有一定的c/c++基础,Qt是零基础接触.所以,经过一番查找,发现youtube一个外国友人Bryan从零开始教Q ...

  5. Qt在VS2010的安装与配置

    1. 下载Qt的安装包和VS2010的Qt插件 2. 安装Qt SDK 点击下载安装包,一路回车即可,主要注意Qt的安装路径最好安装在全英文路径而且中间没有空格, 安装好后,可以运行开始菜单里面的Qt ...

  6. 【Qt开发】Linux下Qt开发环境的安装与集成

    近期工作需要在Linux下用Qt进行C++开发,所以就在linux下尝试装QT开发环境.本人用的linux是CentOS 6.5.现在对安装过程做出总结.有两种安装方式,下面分别详述: 1 图形化安装 ...

  7. Win7 32位系统下Java开发环境的安装及配置

    目录: Java JDK安装. Java JDK系统环境的配置. 配置常见问题的解决. Java JDK的安装 Java Jdk(Java Development Kit)Java开发不可缺少的环境, ...

  8. [flutter+dart] windows7下开发环境的安装与配置

    前言 博主是做嵌入式的,参加工作时间也不久,而且是非科班出身,之前从未接触过移动开发.最近了解到了flutter框架和dart语言,想作为第二语言学习一下,因此会从最基础的环节开始,以此博客作为记录, ...

  9. 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程

    目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3.解决 ...

  10. qt开发ROS gui界面环境配置过程总结

    这段时间花了点时间配置了在qtcreator5.9.1上开发ros gui界面的环境,终于可以实现导入工程,插断点调试了.总结起来需要注意以下几点: 1.安装插件ros_qtc_plugin,ROS与 ...

随机推荐

  1. [Arch小贴士]在这里记录一些自己使用的小技巧

    哈喽!Arch 目录 0x00 设置开机自启动软件 首先 最后 0x01 ASLR开关 0x00 设置开机自启动软件 首先 首先进入目录/usr/share/applications,找到你要的那个软 ...

  2. SpringBoot3集成Redis

    目录 一.简介 二.工程搭建 1.工程结构 2.依赖管理 3.Redis配置 三.Redis用法 1.环境搭建 2.数据类型 3.加锁机制 四.Mybatis缓存 1.基础配置 2.自定义实现 五.参 ...

  3. Web开发框架 WebBuilder 9 发布

    WebBuilder 是一款强大,全面和高效的Web开发框架 .基于浏览器的集成开发环境,智能化的设计,能轻松完成常规桌面应用和面向手机等的移动应用开发.高效.稳定和可扩展的特点,适合复杂企业级应用的 ...

  4. 提高 Web 开发效率的10个VS Code扩展插件,你知道吗?

    前言 一个出色的开发工具可以显著提高开发人员的开发效率,而优秀的扩展插件则能更进一步地提升工具的效率.在前端开发领域,VSCode毫无疑问是目前最受欢迎的开发工具.为了帮助前端开发人员提高工作效率,今 ...

  5. Go 语言内置类型全解析:从布尔到字符串的全维度探究

    关注微信公众号[TechLeadCloud],分享互联网架构.云服务技术的全维度知识.作者拥有10+年互联网服务架构.AI产品研发经验.团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证 ...

  6. 文盘Rust——子命令提示,提高用户体验

    上次我们聊到 CLI 的领域交互模式.在领域交互模式中,可能存在多层次的子命令.在使用过程中如果全评记忆的话,命令少还好,多了真心记不住.频繁 --help 也是个很麻烦的事情.如果每次按 'tab' ...

  7. ES13 中11个令人惊叹的 JavaScript 新特性

    前言 与许多其他编程语言一样,JavaScript 也在不断发展.每年,该语言都会通过新功能变得更加强大,使开发人员能够编写更具表现力和简洁的代码. 小编今天就为大家介绍ES13中添加的最新功能,并查 ...

  8. Solution -「洛谷 P5046」「YunoOI 2019 模拟赛」Yuno loves sqrt technology I

    Description Link. 无修改区间求逆序对. Solution 首先有一个显然的 \(\Theta(N\sqrt{N}\log_{2}N)\) 做法,由于过不了所以我就不废话. 其实有了 ...

  9. 一文给你讲清楚BeanFactory 和 FactoryBean 的关联与区别

    本文分享自华为云社区 <BeanFactory 和 FactoryBean 的关联与区别>,作者:战斧. 一.概括性的回答 两者其实都是Spring提供的接口,如下 public inte ...

  10. redis基本数据类型 Hash

    Hash 类型 Hash类型的常见命令 HSET key field value: 添加或者修改hash类型key的field的值HGET key field: 获取一个hash类型key的field ...