【Qt】如何搭建Qt开发环境

news2024/9/28 13:21:27

Qt的开发工具

需要搭建Qt开发环境,需要安装3个部分:

  1. C++编译器(gcc、cl.exe...)注意,这里的C++编译器不是指visual studio这种集成开发环境,编译器不等于IDE,编译器只是IDE调用的一个程序。
  2. Qt SDK。SDK被称为软件开发工具包,就比如,Windows版本的Qt SDK里面已经内置了C++的编译器,其内置的编译器是mingw,mingw是Windows版本的gcc/g++,在具体安装的过程中,需要把对应的C++编译器勾选上。如果想要VS内置的cl.exe作为编译器,需要配置很多额外的东西,容易出错。
  3. 需要有一个Qt的集成开发环境(IDE)。

Qt支持多种开发工具,其中比较常用的开发工具有:Qt Creator、visual Studio、Eclipse。

Qt Creator

        Qt Creator 是⼀个轻量级的跨平台集成开发环境(IDE),专为使⽤ Qt 框架进⾏应⽤程序开发⽽设计。它是⼀个功能强⼤、易于使⽤、快速且⾼效的⼯具,被⼴泛⽤于编写各种类型的应⽤程序,如桌⾯应⽤程序、移动应⽤程序和嵌⼊式系统等。
        Qt Creator 提供了⼀个可视化的界⾯设计器和代码编辑器,可以帮助开发者更快捷地创建复杂的⽤⼾界⾯和处理各种事件。它还包含了调试⼯具、版本控制⼯具、⾃动完成和智能提⽰等功能,以及⽀持多语⾔和跨平台的开发环境。
Qt Creator的主要特定是:
  • 紧密集成的 Qt 框架:Qt Creator 专⻔为 Qt 开发⽽设计,因此它与 Qt 框架集成得⾮常紧密,使开发者可以更容易地管理和部署他们的应⽤程序。
  • 强⼤的编辑器:Qt Creator 具有⼀些先进的编辑器功能,如语法⾼亮、代码折叠、智能提⽰、⾃动完成和代码重构。
  • 集成的调试器:Qt Creator 内置了调试器,允许开发⼈员在代码中设置断点以及检查变量、堆栈和调⽤树等信息。
  • ⾼效的构建系统:Qt Creator 提供了⼀个⾼效的构建系统,可以⾃动构建和部署应⽤程序,同时⽀持使⽤不同的编译器和平台。
  • 可视化界⾯设计器:Qt Creator 具有⼀个可视化界⾯设计器,它允许开发⼈员在没有编写代码的情况下创建复杂的⽤⼾界⾯。
  • 多语⾔⽀持:Qt Creator ⽀持多种编程语⾔,包括 C++、QML、JavaScript 等。
        Qt Creator 是⼀个功能⻬全、易于使⽤且⾼效的跨平台 IDE,适⽤于各种类型的应⽤程序开
发,特别是那些使⽤ Qt 框架的开发者。

        总之,Qt Creator是Qt官方提供的,是最容易入门,最容易上手的的一种方式,不需要额外的配置,虽然Qt Creator在使用过程中存在不少bug,有些bug非常影响使用体验,但是整体来说,用起来还是比较方便的,比较适合初学者。

Visual Studio

        Visual Studio 是由微软公司开发的集成开发环境(IDE)。它可以⽤来开发多种类型的应⽤程序。包括Windows 桌⾯应⽤程序、Web应⽤程序、移动应⽤程序、游戏等。Visual Studio 提供了丰富的开发⼯具和功能,包括代码编辑器、调试器、⾃动完成、代码重构、版本控制等等。它⽀持多种编程语⾔,如:C++、C#、Visual Basic、F#、Python等。Visual Studio 还可以与其他开发⼯具和服务集成,如Azure 云服务、GitHub、Jenkins等。
Visual Studio的主要特点:
  • 多语⾔⽀持:Visual Studio ⽀持多种编程语⾔,包括 C++、C#、Visual Basic、F#、Python、JavaScript 等。
  • 丰富的⼯具集:VS 提供了各种开发⼯具,包括代码编辑器、调试器、代码分析⼯具等,以提⾼开发⼈员的效率。
  • 可视化设计:VS提供了可视化的设计⼯具,如窗体设计器、WPF 设计器等,使开发⼈员可以直观地设计⽤⼾界⾯。
  • 跨平台开发:VS ⽀持跨平台开发,可以开发适⽤于 Windows、Linux 和 macOS 等多个平台的应⽤程序。
  • 集成的调试器:VS 集成了强⼤的调试器,可以进⾏代码的单步调试、断点调试等操作来帮助开发⼈员查找和修复错误。
  • 丰富的扩展性:VS 可以通过安装扩展来扩展其功能,开发⼈员可以根据⾃⼰的需求选择并安装适合的扩展。

        Visual Studio 这个集成开发环境是比较优秀,功能更强的,但是额外配置很多,而且更加容易出错。有些公司开发商业Qt程序的时候,可以使用VS,在使用vs的过程中,需要给vs安装插件,并且需要把Qt SDK使用VS的编译器重新编译,对于现在的VS而言,有预编译好的版本,也比较方便。

Eclipse

        Eclipse 是著名的跨平台的⾃由集成开发环境(IDE)。最初主要⽤来 Java 语⾔开发,但是⽬前亦有⼈通过插件使其作为其他计算机语⾔⽐如 C++ 和 Python 的开发⼯具。Eclipse 的本⾝只是⼀个框架平台,但是众多插件的⽀持使得 Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵活性。许多软件开发商以 Eclipse 为框架开发⾃⼰的 IDE。Qt 框架可以与 Eclipse 集成,使开发者可以使⽤ Eclipse 的强⼤功能来开发 Qt 应⽤程序。
        Eclipse并非只是Java IDE,本身是一个IDE平台,可以搭配不同的插件,构成不同的IDE,但是受到市场的冲击(重量级工具有JetBrains,轻量级工具有VScode),Eclipse的生态已经是大不如前了。
所以,综合来讲,简简单单安装个Qt SDK就ok了。

Qt的安装与下载

Qt的下载官网:https://download.qt.io/archive/qt/

本人使用的是:Qt 5.14.2

了解Qt SDK工具

在安装Qt SDK完成之后,可以在菜单栏里面找到Qt SDK自带的一些工具程序,这些工具程序也是我们在开发过程中需要关注的。

  • Qt助手,是Qt自带的离线版本的官方文档(英文版本),虽然Qt也存在盗版的中文文档,但是建议使用英文文档进行学习。

  • Qt 设计师,这是图形化设计界面的工具,通过拖拽控件的方式来快速生成界面,一般会搭配Qt Creator来使用。

  • Qt 语言家,其作用是对国际化进行支持,将写的程序与国际接轨,其允许单独创建一个语言配置文件,将界面上需要用到的各种文字都配置到文件中,并且在文件中提取把各种语言的翻译都配置进去。可以起到“一键式切换语言”效果,通过简单的api就可以切换语言配置,很容易实现兼容不同uoj的地区效果。

  • 命令行操作

  • Qt Creator

 

使用Qt SDK创建项目 

 新建一个项目

 application里有应用程序,如果需要使用Qt写一个GUI程序,就需要选择这个就够了。

  • Qt Widgets Application:图形化界面
  • Qt Console Application:命令行界面
  • Qt for python与Qt for Python:Qt不仅仅支持C++,也支持python语言,同时也支持Java。
  • Qt Quick:是Qt的最新的用来开发GUI的方式,传统的开发GUI的方式是Qt Widgets

设置路径并命名项目。

 Build system,用来构建系统,通过Qt写的程序,涉及到一系列的“元编程”技术,也就是通过代码来生成代码的。

        Qt这个框架,会在编译的时候,自动先调用一系列的生成工具,基于我们自己写的代码,生成一系列的其他C++代码,最终编译的代码,也就形成了最后生成的这些代码。

  • Qmake:是老牌的Qt构建工具
  • CMake:并非Qt专属,很多开源项目都会使用CMake
  • Qbg:新一代的Qt构建工具(在实际中使用比较少)

 Class Information:使用Qt creator创建项目,会自动的生成一些代码出来,生成代码就包含一个类,此处就是需要选择这个自动生成类的父类。

Qt中内置的类都是以Q开头的。

下面的.h与.cpp文件是指此处生成的文件名是和类名关联的,但是这样的关联并非是强制的,这里推荐大家一致。

这里的form file非常关键,在Qt中创建图形化界面的程序有俩种方式:

  1. 直接通过C++代码的方式创建界面
  2. 通过form file,以图形化的方式来生成界面。

此时,就可以使用Qt Designer或者直接使用Qt Creator来编辑这个ui文件,从而以图形化的方式快速方便的生成图形界面。

  • QMainWindow:是完整的应用程序窗口,可以包含菜单栏、工具栏、状态栏...
  • QWidge:表示一个控件(窗口上的一个具体的元素,输入框、按钮、下拉框、单选按钮、复选按钮...) 
  • QDialog:表示一个对话框

 Translation File:选择翻译文件对应的语言,此处暂时不需要处理,和国际化相关的。

Kit selection:这里选择一些基于哪一个编译器的Qt SDK来创建后续代码的。 

新建一个项目完成

点击左下角的三角是运行按钮。

直接点击绿色三角会出现一个框。 

Qt环境变量配置

  • 找到Qt的安装的路径,复制“bin”路径。

  • 在搜索面板中搜索“环境变量”

  •  双击path

  • 点击新建,将复制的路径保存并且确定。 

【注意】在关闭所有窗口时,一定需要点击“确定”,否则上述配置无效。

为什么要设置环境变量? 

        答:环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序将要用到的信息。

在Windows上设置Qt的环境变量是为了能够在命令行或者其他应用程序中直接访问Qt相关的命令和工具。 

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

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

相关文章

办公知识分享:如何自己制作一个图文二维码呢?

和一般的网址二维码、文件二维码等不同,H5编辑二维码支持在一个H5页面同时展示:图片内容、文字内容、并支持插入超链接、视频、音频等文件…。 其用途非常广泛,在教育、企业办公、产品包装设计、展会、艺术展览等都在使用H5编辑二维码来传播…

代码随想录算法训练营第24天 | 题目:93.复原IP地址 、78.子集 、 90.子集II

代码随想录算法训练营第24天 | 题目:93.复原IP地址 、78.子集 、 90.子集II 文章来源:代码随想录 题目名称:93.复原IP地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0&#xff09…

Apache EChart前端图表

目录 一、了解Apache EChart 1.1 什么是Apache Echart 1.2 为什么要使用图表 1.3 常见的图表以及特点 二、Apache EChart的基本使用 2.1 下载echarts.js 2.2 echart基本使用案例 三、多类型图表的使用 3.1 柱状图(type:bar) --基本柱状图 --多系列柱状图 --堆叠柱状图…

我面试了个目标 50w 的大厂老哥,很符合预期

大家好,我是程序员鱼皮。上周我直播模拟面试了一位很优秀的老哥,有些感受想和朋友们分享分享。 先简单介绍一下:老哥是一本硕士出身 在大厂做后端开发 2 年,buff 拉满,目标是通过跳槽冲击 50 万的年薪。 说实在的&a…

Python 如何进行图像处理(OpenCV, PIL)

图像处理是计算机视觉的重要组成部分,它涉及对数字图像进行分析、修改和处理。在Python中,OpenCV和Pillow(PIL是Pillow的前身)是两个非常流行的图像处理库。 一、OpenCV简介 OpenCV(Open Source Computer Vision Lib…

【文心智能体】梗图七夕版,一分钟让你看懂如何优化prompt,以及解析低代码工作流编排实现过程和零代码结合插件实现过程,依然是干货满满,进来康康吧

目录 背景什么是梗图梗图概念梗图结构 低代码开发最小运行单元大模型链提示词模板文心模板输出效果 测试工具链HTTP请求工具 梗图工具链全流程 梗图优化Prompt提示词优化后梗图结构提示词前后对比优化前效果优化后效果API接口BOS图片水印 梗图插件格式说明构思插件清单文件定义…

21天学通C++:理解智能指针、IO流、异常处理

理解智能指针 管理堆(或自由存储区)中的内存时,C程序员并非一定要使用常规指针,而可使用智能指针。 什么是智能指针 简单地说,C智能指针是包含重载运算符的类,其行为像常规指针,但智能指针能…

Spring通过注解优雅实现工厂模式

Spring通过注解优雅实现工厂模式 工厂模式作为开发者,应该都是耳熟能详的,在课本上、在网络上都会有无数的案例,是一个简单、确十分好用的设计模式。但是实现它的方法有很多,早年见过最多的就是用 if 判断类型,然后返回…

Docker部署Minio并配置域名访问

Docker部署Minio并配置域名访问 1、拉取镜像 docker pull minio/minio:RELEASE.2024-08-03T04-33-23Z-cpuv12、启动容器 # 创建数据目录 mkdir /data/minio # 创建配置目录 mkdir /root/.minio # 启动容器(如果不配置域名访问MINIO_BROWSER_URL、MINIO_SERVER_URL可以不用配…

springboot书画在线学习网站-计算机毕业设计源码11849

摘 要 本篇论文旨在设计和开发基于SpringBoot的书画在线学习网站,提供用户便捷的学习方式和丰富的学习资源。在该系统中,用户可以通过网站浏览书画的相关内容,包括诗公告消息、书画资讯、课程信息等。同时,系统还将提供书画的学习…

第七在线联手深服协:以科技之力,绘就时尚 AI 智能商品管理新篇章

7月30日,在深圳,一场堪称行业精英云集、科技锋芒毕露的“科技赋能时尚前沿沙龙”圆满落幕。这场盛会由 7thonline 第七在线与深圳服装行业协会(简称“深服协”)携手打造,深度聚焦 AI 智能商品管理在时尚天地的创新运用…

Liunx 小程序之进度条

Liunx 小程序之进度条 效果前提条件回车和换行缓冲区倒计时 进度条纯进度条模拟下载的进度条Progressbar.hProgressbar.cmain.cmakefile 效果 先来看效果,这其实是一个动态的进度条,后有源码,运行即可: 前提条件 在制作之前有两…

springboot仓库人力资源管理系统-计算机毕业设计源码45130

摘 要 仓库人力资源管理系统作为一种先进的信息技术工具,在企业中扮演着重要的角色。本文旨在深入探讨SpringBoot仓库人力资源管理系统的各项功能及其优势,以及对企业运营所带来的深远影响。 首先,我们详细探讨了SpringBoot仓库人力资源管理…

Opencv学习-图像变换

1. 图像连接 图像连接是指将两个具有相同高度或者宽度的图像连接在一起,图像的下(左)边缘是另一个图像的上(右)边缘。图像连接常在需要对两幅图像内容进行对比或者内容中存在对应信息时显示 对应关系时使用。例如&…

全国十大起名大师排行榜,中国最厉害三个起名大师是谁?

全国十大起名大师排行榜,中国最厉害三个起名大师是谁? 山东济南最受欢迎的起名大师有多位,其中较为知名的包括: ‌颜廷利,被誉为山东济南最出名的起名大师之一,还是现代山东文化名人,通过魔方解…

人工智能时代下,国产服务器操作系统如何加快发展?

人工智能时代下,国产服务器操作系统如何加快发展? 云智融合浪潮下,服务器操作系统产业未来发展将走向何方?英特尔和龙蜥的合作,能为国产操作系统的发展带来什么?双方如何通过合作布局“云AI”时代的未来&am…

配有知识库的AI助手与大模型问答相比,各有哪些优缺点?

1. 配有知识库支持的AI助手 优点: 精确性:知识库是由专业人员整理和维护的,其中的信息通常是经过验证和准确的。因此,配有知识库的AI助手可以提供准确的答案,并且在特定领域的问题上表现良好。可控性:知识…

合并重叠的区间

这一题不能用差分数组&#xff0c;因为 [1 , 4] [5, 6] 这个就会被合并&#xff0c;正确的做法就是先排序 bool cmp(vector<int> a, vector<int> b) {if (a[0] < b[0]) return 1;if (a[0] b[0]) return a[1] < b[1];return 0; } class Solution { public:ve…

Python酷库之旅-第三方库Pandas(065)

目录 一、用法精讲 256、pandas.Series.sparse方法 256-1、语法 256-2、参数 256-3、功能 256-4、返回值 256-5、说明 256-6、用法 256-6-1、数据准备 256-6-2、代码示例 256-6-3、结果输出 257、pandas.DataFrame.sparse方法 257-1、语法 257-2、参数 257-3、功…

分享一个基于人脸识别的小区物业管理系统Spring Boot(源码、调试、LW、开题、PPT)

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人 八年开发经验&#xff0c;擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等&#xff0c;大家有这一块的问题可以一起交流&…