C++常用的支持中文的GUI库Qt 6之一:下载、安装与简单使用

news2025/1/11 12:36:50

C++常用的支持中文的GUI库Qt 6之一:下载、安装与简单使用

因为Qt发展变化较快,网上许多介绍Qt的下载、安装与使用已过时,初学者常因行不通而受挫,故此发布本文,以Qt 6.2.4开源版在Windows 10安装与使用为例介绍。

C++好用的GUI简介

Qt:Qt是一个流行的跨平台GUI框架,支持Windows、MacOS、Linux等多个平台,提供了很多UI界面元素和控件,并且拥有很好的文档和社区支持。

拥有良好的国际化和本地化支持,并且提供了多语言翻译工具,可以很方便地实现中文界面。

QT官网提供了开发者所需的最全面的文档,包括教程、示例代码、API参考等。

Qt实质上是用C++编写的大型类库,它为跨平台应用开发提供了一个完整的框架。Qt框架包含大量的类,支持GUI、数据库、网络、多媒体等各种应用的编程。

Qt类库本身是用C++语言编写的,所以Qt支持的基本开发语言是C++。Qt还对标准C++语言进行了扩展,引入了信号与槽、属性等机制,为跨平台和GUI程序的对象间通信提供了极大的方便。

Qt还提供了一种自创的编程语言QML,它是类似于JavaScript的声明性语言。Qt提供了一个用QML编写的库Qt Quick,它类似于Qt C++类库,区别是Qt Quick中的各种控件被称为QML类型(type)。QML用于描述程序的用户界面,将用户界面描述为对象树,每个对象具有自己的各种属性。

Qt也支持Python,Qt类库的Python绑定版本比较多,比较常用的是PyQt和PySide。PyQt是RiverbankComputing公司开发的Qt类库的Python绑定,它出现得比较早,更新比较及时,是目前应用比较广泛的Qt类库的Python绑定。PyQt5是与Qt 5对应的版本,PyQt6是与Qt 6对应的版本。PyQt5和PyQt6都采用商业许可和GPLv3开源许可。

PySide是Qt官方的一个项目,Qt6的Python绑定被直接命名为PySide6,PySide采用商业许可和LGPLv3开源许可,相对于PyQt采用的GPLv3开源许可,LGPLv3开源许可对商业开发者更友好一些。

wxWidgets:wxWidgets也是一个跨平台GUI框架,支持Windows、MacOS、Linux等多个平台,提供了类似于MFC的API接口,让程序员可以快速开发GUI应用程序。

wxWidgets 也支持中文界面,并提供了多语言翻译工具。

wxWidgets官网: https://www.wxwidgets.org/

Qt 下载、安装

Qt提供了两种版本,一种是开源免费版,另一种是商业版。开源免费版可以用于个人和商业目的,而商业版则需要购买授权才能使用。因此,如果您只是想尝试使用Qt或者进行个人项目开发,那么Qt是免费的。但如果您打算将Qt用于商业用途或者需要商业版的额外功能,就需要付费购买相应的许可证(登录Qt官网并进入个人中心页面,选择需要购买的产品或服务,并根据提示完成付款)。

对于学习QT的初学者来说,使用开源免费版就已经足够了。

需要提醒的是,初学者应当了解Qt和Qt Creator的关系

Qt是一个跨平台的C++应用程序开发框架,提供了丰富的类库和工具,可以帮助开发者快速开发高质量的应用程序,GUI程序、控制台工具、网络、数据库、嵌入式系统等。Qt Creator是Qt官方推出的集成开发环境(IDE),它提供了代码编辑、调试、构建、部署等功能,可以帮助开发者更加高效地使用Qt框架进行开发。

可以说Qt是一个应用程序开发框架,而Qt Creator是一个基于Qt框架的集成开发环境。

简单地说,Qt是一个应用程序框架,提供了丰富的类库和工具,而Qt Creator仅仅是一个基于Qt框架开发的IDE。你也可以使用其他IDE进行Qt应用程序的开发。

在C++中使用Qt开源版本

如果没有Qt账号,首先用邮箱注册一个Qt账号,在安装的过程中还需要用到一个

Qt账号,注册账号,请到Qt官网首页https://www.qt.io/,点击右上角的小人 进入登录界面,没有账号,点击CreateQtAccount创建账号,需要用Email。

注册Qt账号并不需要购买授权许可证。QT开源版本可以免费使用,商业授权版本需要购买相应的授权许可证。

需要以下步骤:

安装 Qt:首先需要下载并安装 Qt 开发环境。

Qt安装程序分为商用和开源的版本,针对个人和小团队的开发,开源版本更加方便适用。

官方商用下载:https://www.qt.io/download
官方开源下载:https://download.qt.io/official_releases/online_installers/

提示:自Qt 5.15系列起(含Qt 5.15、Qt 6.0全系列),Qt官方宣布不再发布已经构建好的各平台二进制离线安装文件供开源用户下载,也不提供offline版本的安装程序,只提供online程序统一安装。还需要注意的是Qt6只支持Windows10以上的系统。我这里用开源版

找到核实版本下载,我用windows版,因此单击qt-unified-windows-x64-online.exe下载,需要注意的是Qt6只支持Windows10以上的系统。下面的安装约占4G磁盘空间。

找到下载的文件文件 qt-unified-windows-x64-4.5.2-online.exe,双击安装

输入注册邮箱名和密码,单击“下一步”

按上图勾选,单击“下一步”,出现如下界面:

单击“下一步”,等待出现如下界面:

【通过允许在Qt Creator中跟踪假名/笔名使用数据,帮助我们改进Qt和Qt Creator。跟踪可以在任何时候被禁用。

请阅读Qt公司隐私政策。

O通过在Qt中启用发送假名使用统计数据来帮助我们改进

O在Qt Creator中禁用发送假名使用统计信息】

我选第二项,单击“下一步”出现如下界面:

安装目录默认C:\Qt

我改成D:\Qt,当前目录名字以及路径中所有目录不能存在中文字符,不能有空格。

安装类型,按默认Custom installation

单击“下一步”出现如下界面:

Qt 6.2.4是Qt 6系列第一个长期技术支持版本(Long Term Support,LTS),故选它

在其下的子项选择是:使用Qt Creator自带的MinGW编译器,勾选之。额外的库"Addictional libraries"全选,单击“下一步”出现如下界面:

勾选I have read and agree to the terms contained in the license agreements(我已阅读并同意许可协议中包含的条款),单击“下一步”出现如下界面:

按默认,单击“下一步”出现如下界面:

单击“安装”出现如下界面:

请耐心等待在线安装,时间长达数分钟(与你的网速和计算机配置有关),直至出现如下界面:

至此,完成安装。

QT的简单使用

在开始菜单找到QT Creator单击

【Windows10中,若启动Qt Creator报错,应用程序无法正常启动(0xc000022),请“以管理员的身份运行”。

设置始终以管理员身份运行应用程序的办法:

右键出现错误的程序.exe文件,打开属性页面;

在程序属性对话框,点击切换到“兼容性”选项卡,找到并勾选“设置”项目下的“以管理员身份运行此程序”后,点击确定。】

打开Qt Creator,界面如图所示:

它主要由窗口区、菜单栏、模式选择器、构建套件选择器、定位器和输出窗格等部分组成。

提示:显示的界面是中文,可以切换界面语言,在“编辑/Edit →Preferences”中在“环境/Environment”选项卡中,找到“语言/Language”下拉菜单

选定语言,再单击“确定/OK”按钮即可。我这里选用“English”。

创建 Qt 项目:在 Qt Creator(Qt 集成开发环境)中创建一个新的 Qt 项目。选择 "File" -> -> "Application" -> "Qt Widgets Application" 即可创建一个基于 Qt 的桌面应用程序。

左侧窗口中的“New Project”,选择项目类型(如Qt Widgets Application),

单击“Choose”按钮后

输入名称(我这里是QtTest01)和路径等信息,单击“Next”按钮

【Qmake、CMake和Qbs说明:

它们自动生成的构建系统的配置文件,都是文本文件

Qmake的是.pro文件(应用程序名称.pro)

CMake的是CMakeLists.txt文件

Qbs的是. qbs文件(应用程序名称. qbs)

Qmake、CMake和Qbs都是跨平台的构建系统,它们都可以用于构建C++项目,但是它们在语法和使用方式上存在一些不同。

Qmake:

Qmake是Qt开发框架自带的构建工具,被广泛应用于Qt项目的构建。Qmake采用类似于make的语法,可以通过.pro文件来描述项目的结构和编译规则,简单易学,适合小型项目。Qmake支持跨平台构建,可以生成Visual Studio、Xcode和makefile等多种构建系统所需的文件。一般练习选用这个,方便资源文件管理——例如图片、音视频资源等,有这些资源,我们可以将普通的按钮设置成带图片的,一些标签也可以用图片来显示,还可以播放动图等,如何使用在下一讲介绍

CMake:

CMake是一款独立的构建工具,不依赖于任何特定的开发框架。CMake使用CMakeLists.txt文件来描述项目的结构和编译规则,支持跨平台构建,并且可以生成Visual Studio、Xcode、makefile以及Ninja等多种构建系统的文件。CMake相比Qmake更加灵活,可以支持更复杂的项目结构。

Qbs:

Qbs是Qt公司推出的全新构建系统,使用QML的声明式语言来描述项目和构建规则,支持跨平台构建,相比于Qmake和CMake,Qbs比较适合于大型、复杂的项目支持自动化依赖解决,减少了构建系统配置的工作量。】

这里选用Qmake,单击“Next”按钮

基类(Bsse class):QMainWindow、QWidget和QDialog

QMainWindow:用于创建主窗口应用程序。它提供了菜单栏、工具栏、状态栏等顶层组件,并且可以包含其他QWidget子类。在QMainWindow的初始用户界面中,菜单并不是默认显示的,如果你想要添加菜单到QMainWindow中,需要手动创建和设置。

QWidget:是所有Qt用户界面对象的基类,它本身不具有绘制任何内容的功能,但可以作为容器来包含其他控件。

QDialog:是一个对话框窗口,主要用于与用户进行交互(例如获取输入或显示消息),并且通常会返回一些数据给调用者。

这三个类都是Qt中常用的基类,每个类都有其特定的用途和优点,具体使用哪个类取决于应用程序的需求和设计。

如果需要创建大型桌面应用程序,可以选择使用QMainWindow作为基类;如果只需要创建一个独立的小部件,可以使用QWidget作为基类;如果需要打开模态对话框或自定义对话框,可以使用QDialog作为基类。

基类(Bsse class)我这里选QWidget,单击“Next”按钮:

Translation File(翻译文件)界面,如果您计划通过Qt Linguist工具为您的项目用户界面提供翻译,请在这里选择一种语言。将为您生成相应的翻译(.ts)文件。

我这里不用——不改变默认,单击“Next”按钮

这一步是为项目/应用程序设置 Qt 套件(Qt Kits),默认情况下,选中全部套件。

我这里不改变默认,单击“Next”按钮

 在此界面可以设置,作为子项目添加到项目,以及加入版本控制系统管理。这两个功能暂时用不到,都用默认的 <None>。

单击“Finish”按钮

 QT Creator向导创建项目后,会自动生成一些源文件和资源文件。您可以在代码编辑器中编写代码,并使用QT提供的工具箱、属性编辑器和设计器等功能来设计GUI界面。

现在可以进行界面设计

点击Forms 部分展开,双击其中的.ui文件,这里是widget.ui

拖曳控件【注:Widgets小部件】容器栏的滑动条,拖曳控件容器栏的滑动条,在Display Widgets容器栏中找到Label标签控件,拖曳此控件到中间的窗体中,修改拖曳到窗体中的控件的属性

编译和运行:

“Build→Build Project ”菜单命令进行编译:

如果没有错误,就可以单击“Build→Run” 菜单命令来运行您的应用程序了:

打开QT Creator已创建的项目

选择打开 .pro 文件或CMakeLists.txt文件或. qbs文件即可。

Qmake、CMake和Qbs都是跨平台的构建系统,可参见前面Qmake、CMake和Qbs说明
,它们都可以用于构建C++项目,但是它们在语法和使用方式上存在一些不同。Qmake、CMake和Qb自动生成相应的配置文件:

Qmake的是.pro文件(应用程序名称.pro)

CMake的是CMakeLists.txt文件

Qbs的是. qbs文件(应用程序名称. qbs)

下一篇C++常用的支持中文的GUI库Qt 6之二:项目的结构、资源文件的使用https://mp.csdn.net/mp_blog/creation/editor/130741807

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

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

相关文章

Kubernetes 之7大CNI 网络插件用法和对比

Kubernetes 它需要网络插件来提供集群内部和集群外部的网络通信。以下是一些常用的 k8s 网络插件&#xff1a; Flannel&#xff1a;Flannel 是最常用的 k8s 网络插件之一&#xff0c;它使用了虚拟网络技术来实现容器之间的通信&#xff0c;支持多种网络后端&#xff0c;如 VXLA…

SpringSecurity权限管理基本概念和整体架构介绍

文章目录 一、权限管理1、认证2、授权3、对权限控制&#xff0c;现有的解决方案 二、SpringSecurity简介1、官方定义2、历史 三、整体架构1、认证AuthenticationManagerAuthenticationSecurityContextHolder 2、授权AccessDecisionManagerAccessDecisionVoterConfigAttribute 一…

SQL注入:sqli第一关详细讲解

一、实验环境&#xff1a; Apache2.4.39 FTP0.9.60 MySQL5.7.26 PHP 5.3.29(注意PHP的版本不应过高&#xff0c;否则会导致sqli安装失败) sqli 二、实验步骤 第一步&#xff1a;在id1后加入一个闭合符号&#xff0c;如果报错&#xff0c;再在后面加上 -- qwe将后面注释掉…

vivado中的FPGA时钟管理单元PLL学习记录

vivado中的FPGA时钟管理单元PLL学习记录 CMT简介一、PLL IP的使用1、ip调用 2、生成的频率限制二、PLL实现原理 三、使用过程中的问题程序注意事项 CMT简介 FPGA中时钟管理模块&#xff08;CMT&#xff09;包括PLL和MMCM&#xff0c;用于将时钟倍频(比如输入时钟25M&#xff0…

第三方实验室云LIS系统

本套云LIS系统基于B/S架构的实验室管理系统&#xff0c;整个系统的运行基于WEB层面&#xff0c;只需要在对应的工作台安装一个浏览器软件有外网即可访问。SaaS服务&#xff0c;无需部署&#xff0c;开通账号接口快速入门使用&#xff0c;集齐前处理、检验、报告、质控、统计分析…

测试自动化_Katalon

测试自动化_Katalon 1.概述 ​ Katalon界面的自动化测试工具&#xff0c;简称KS&#xff0c;于2015年推出。是开源的&#xff0c;提供的版本有免费的版本&#xff0c;还有企业版是收费的。如下图。其中的服务台功能应该是持续继承的支持。可试用一个月。 ​ 最初是支持Web UI…

Baumer工业相机堡盟工业相机通过BGAPISDK使用图像回调函数全帧率保存图像 (C#)

Baumer工业相机堡盟工业相机通过BGAPISDK使用图像回调函数全帧率保存图像 &#xff08;C#&#xff09; Baumer工业相机Baumer工业相机全帧率保存的技术背景Baumer工业相机通过BGAPISDK使用相机图像回调函数1.引用合适的类文件2.通过BGAPISDK在相机图像回调函数全帧率保存 Baume…

2023年湖北建筑电工报名需要什么资料 ?报考条件是什么?启程别

2023年湖北建筑电工报名需要什么资料 &#xff1f;报考条件是什么&#xff1f;启程别 建筑电工证&#xff0c;适合在建筑工地上、建筑公司里面使用&#xff0c;和应急管理局的电工证是不同的&#xff01;建筑电工证也称之为建筑特操&#xff0c;统称建筑施工特种作业操作资格证…

如何成为ITSMS、ISMS审核员

一、管理体系审核员的注册领域 管理体系审核员包括质量管理体系&#xff08;QMS&#xff09;、环境管理体系&#xff08;EMS&#xff09;、职业健康安全管理体系&#xff08;OHSMS&#xff09;、食品安全管理体系&#xff08;FSMS&#xff09;、危害分析与关键控制点&#xff0…

Scala学习(六)---apply方法和单例对象

文章目录 1.Apply方法2.单例模式 1.Apply方法 Scala中实例化一个类&#xff0c;可以不用new &#xff0c; 其原因 其实就是 apply 方法 apply方法的调用约定&#xff1a; 用括号传递给类实例或者单例对象名一个或者多个对象的时候 scala会在对应的类或者对象中查找apply方法 且…

TortoiseSvn和TortoiseGit的安装(超详细带汉化)

前言 TortoiseSvn和TortoiseGit都是针对代码进行版本管理的工具&#xff0c;又俗称小乌龟&#xff0c;简洁而可视化的操作界面&#xff0c;免去繁琐的命令行输入。只需要记住常用的几个操作步骤就能快速上手。工欲善其事必先利其器&#xff0c;我一向奉行的就是复杂的问题简单化…

Promise面试题

Promise面试题&#xff0c;带你搞懂同步异步执行顺序 前置知识面试题面试题一面试题二面试题三面试题四 分析面试题一分析面试题二分析面试题三分析面试题四分析 前置知识 Promise中的then方法 then&#xff1a;指定用于得到成功value的成功回调和用于得到失败reason的失败回调…

openldap2.4版本管理员文档中文翻译版

OpenLDAP2.4管理员指南 文章目录 1.OpenLDAP介绍2.快速开始指南1.获得软件2.解压压缩包3.阅读文档4.运行configure5.编译软件6.测试编译结果7.安装软件8.编辑配置文件9.导入数据库配置10.启动slapd11.添加初始条目到目录中12.检测添加结果 3.大图片-配置选择1.本地目录服务2.带…

抓取微信小程序源码教程,扒微信小程序文件等

前言&#xff1a; 想成为一名微信小程序的开发者&#xff0c;前端思路的学习和安全意识是非常有必要的&#xff0c;故务必掌握小程序反编译技能。这里用到了2个工具《包解密》与《反编译》&#xff08;非原创&#xff0c;均来自网上的大佬&#xff09;&#xff0c;特别适合新手…

5.23黄金是否会继续下跌?多单被套怎么办?

近期有哪些消息面影响黄金走势&#xff1f;今日黄金多空该如何研判&#xff1f; ​黄金消息面解析&#xff1a;周二&#xff08;5月23日&#xff09;亚市盘中&#xff0c;现货黄金小幅走弱&#xff0c;一度刷新两日低点至1960美元/盎司&#xff0c;美国明尼亚波利斯联储主席卡…

redis的主从复制、哨兵、集群

主从复制&#xff1a; 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(Master)&#xff0c;后者称为从节点(Slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。 原理&#xff1a; 主从关系确定…

【VLAN如何划分?6个方法帮你解决!好用又简单!】

如何选择交换机&#xff1f;如何根据项目确定网络结构&#xff1f;交换机做为大家工作中最常用的设备之一&#xff0c;关于它的选择&#xff0c;不得不知。 在做项目时都有这样的疑问&#xff0c;因为参数决定了项目预算&#xff0c;常用的园区组网技术也是多种多样。 我们来…

物联网调试管理平台

1. 项目介绍 1.1 项目简介 MQTT调试管理平台是一款基于Spring Spring MVC Mybatis开发的一款物联网设备调试管理平台。 其功能主要是对客户MQTT调试页面进行集中管理&#xff08;连接信息、发送信息&#xff09;&#xff0c;系统管理员可在后台添加客户和调试页面&#xf…

OpenHarmony支持HDMI接口声卡适配说明

高清多媒体接口&#xff08;High Definition Multimedia Interface&#xff0c;HDMI &#xff09;是一种全数字化视频和声音发送接口&#xff0c;可以发送未压缩的音频及视频信号。HDMI可用于机顶盒、DVD播放机、个人计算机、电视、游戏主机、综合扩大机、数字音响与电视机等设…

chatgpt赋能Python-python_js解密

Python与JavaScript解密之道 在现代Web应用程序中&#xff0c;JavaScript和Python是两种最强大和流行的编程语言。Python具有强大的基于文本的处理和数据结构&#xff0c;而JavaScript则具有处理DOM&#xff0c;Ajax和动态效果的能力。然而&#xff0c;有时我们需要使用这两种…