Qt 6之一:简介、安装与简单使用

Qt 6之一:简介、安装与简单使用

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

C++好用的GUI简介

1)Qt

Qt是1991年由HaavardNord和EirikChambe-Eng开发的跨平台C++图形用户界面应用程序开发框架。发展至今,它既可以开发GUI程序,也可以开发非GUI程序,比如控制台工具和服务器。Qt是一个跨平台的C++应用程序框架,支持Windows、Linux、MacOSX、Android、嵌入式系统等。也就是说,Qt可以同时支持桌面应用程序开发、嵌入式开发和移动开发,覆盖了现有的所有主流平台。开发者只需要编写一次代码,而后在发布到不同平台之前重新编译即可。
Qt的工具家族丰富,目前包括QtCreator、QtEmbedded、QtDesigner快速开发工具、国际化工具等。

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

Qt还对标准C++语言进行了扩展,引入了信号与槽、属性等机制,为跨平台和GUI程序的对象间通信提供了极大的方便。

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

Qt也支持Python,Qt类库的Python绑定版本比较多,比较常用的是PyQt和PySide。

Qt官网首页https://www.qt.io/

2)wxWidgets

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

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

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

等等

Qt的主要特点

Qt 是一个采用标准 C++程序设计语言 编写的、跨平台的应用程序开发类库,它对标准 C++ 进行了扩展,引入了元对象系统、信号与槽、动态属性等一些新的特性。

由于Qt对 标准C++ 进行了扩展,因此,Qt应用程序也拥有了一些自己的特性。

Qt具有丰富的API,Qt包括多达数百多个C++类,除了用于用户界面开发,还可用于文件操作、数据库处理、2D/3D图形渲染、多媒体操作和网络通信等。Qt类库中的类是以模块方式进行组织和管理的,版本不同其模块数量、各个模块中包含的类都会不一样。Qt 6.2的模块被分成了 Qt Essentials(基本模块)和 Qt Add-Ons(附加模块) 两大类。Qt提供了一种称为signal/slot(信号/槽)的通信机制,这使得各个元件之间的协同工作变得更为简单安全。

具体说来,包括:

  1. 跨平台性:Qt允许开发者在不同操作系统(如Windows,macOS,Linux等)上编写应用程序,这些应用程序可以在不需要修改代码的情况下在不同平台上运行。

  2. 强大的GUI工具:Qt提供了一套丰富的GUI工具包,包括窗口、按钮、文本框等常见的界面元素,以及用于布局和样式设计的工具。这使得开发者可以轻松创建各种各样的用户界面。

  3. 信号和槽机制:Qt引入了信号和槽机制,这是一种用于对象间通信的机制。通过信号和槽,对象可以以一种松散耦合的方式进行通信,从而简化了应用程序的设计和实现。

  4. 数据库支持:Qt提供了对各种数据库的支持,包括MySQL,SQLite,PostgreSQL等。开发者可以使用Qt的数据库模块来连接、查询和操作数据库。

  5. 多线程支持:Qt提供了对多线程编程的支持,使开发者能够编写并发和并行的应用程序。Qt的多线程模块提供了线程管理、同步和通信机制,简化了多线程编程的复杂性。

  6. 国际化支持:Qt支持国际化和本地化,开发者可以轻松地将应用程序翻译成不同的语言并适应不同的地区和文化。

  7. 开源和商业版:Qt有一个开源版本,被称为Qt开源版,可以免费使用和分发。此外,Qt还有一个商业版,称为Qt商业版,提供了额外的功能和技术支持。

总之,Qt是一个功能强大的C++应用程序开发框架,它可以帮助开发者快速构建跨平台的应用程序,具有良好的可扩展性和易用性。无论是开发桌面应用程序、移动应用程序还是嵌入式系统,Qt都是一个值得推荐的选择。

Qt 下载、安装

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

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

在C++领域,提及Qt,就不能提到Qt Creator。

Qt Creator作为专门针对C++开发的IDE,主要提供了对C++的内建支持(带有C++编译器、连接器等,具有语法高亮、代码补全、调试器等功能)。
Qt Creator没有针对Python的内建支持,但通过安装插件,仍然可以在Qt Creator中进行Python开发。对于Python开发,通常会选择更专注于Python的IDE,例如PyCharm、Spyder或者Visual Studio Code等。这些IDE都提供了丰富的功能和插件,可以更好地支持Python开发。

Qt和Qt Creator的关系

Qt是一个跨平台的C++应用程序开发框架,提供了丰富的类库和工具,可以帮助开发者快速开发高质量的应用程序,GUI程序、控制台工具、网络、数据库、嵌入式系统等。Qt Creator是Qt官方推出的集成开发环境(IDE),Qt Creator 包括项目生成向导,集成了C++、代码编辑器、编译器、连接器,及 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端、 qmake 构建工具等。

简单地说,Qt是开发框架,提供了创建应用程序所需的丰富库、工具和API,用于开发图形界面(GUI程序)和非图形界面的应用程序(如命令行工具和服务器)。而Qt Creator是一个IDE,提供了一个方便的界面来使用这些库和API进行开发。Qt Creator是为了优化使用Qt进行开发的体验而设计的,但它也可以用于其他非Qt的C++项目,甚至通过插件支持其他编程语言的开发。

Qt应用开发一般都使用集成开发环境。
目前,支持Qt应用开发的集成工具有很多,其中能够跨平台使用的主要有 Qt Creator、Eclipse 和 Code::Blocks等。在Windows平台上使用的 Microsoft Visual Studio等。

Qt Creator 是Qt官方推出的一款跨平台开源集成开发工具,具有界面简洁、操作方便、与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版本中,官方提供了离线和在线两种安装方式,自Qt 5.15系列起(含Qt 5.15、Qt 6.0全系列),Qt官方宣布不再提供offline(离线)版本的安装程序,只提供online程序统一安装。还需要注意的是Qt6只支持Windows10以上的系统。我这里用开源版

建议使用清华大学开源软件镜像网站下载Qt的在线安装器,速度较快。其网址为:

https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/

我用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 Creator的简单使用

Qt Creator对C++有内建支持,是指带有C++编译器、连接器等,具有语法高亮、代码补全、调试器等功能等,是一个优秀的C++开发环境,,使得开发C++应用程序变得更加方便和高效。

在开始菜单找到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等多种构建系统所需的文件。在Qt Creator 10.0.1版本中,已经移除QMake。【早期版本一般练习选用这个】

CMake:

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

Qbs:

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

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

说明:1)Generate form 复选框

勾选Qt Creator 会自动创建窗口UI 文件(.ui文件)。 默认勾选。在此按默认勾选。

不勾选,这样创建的项目里就没有窗口UI 文件(.ui文件)。

2基类(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)文件。

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

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

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

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

单击“Finish”按钮

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

现在可以进行界面设计

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

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

编译和运行

在Qt Creator中,"build project"和"run":

"Build project"【Build Project“项目名”Ctrl+B】用于编译并构建项目,生成可执行文件。当您修改了项目文件或源代码之后,需要重新执行"Build project"操作来更新可执行文件。如果有编译错误,则需要在"Compile Output"视图中查看错误信息并进行修复。

"Run"【Run Ctrl+B】操作用于运行已经构建好的可执行文件。

在执行"Run"操作之前,必须先执行"Build project"以生成可执行文件。如果对源代码进行了更改,也需要重新执行"Build project"操作以更新可执行文件。

当修改了某些非源代码文件(如资源文件或UI文件)时,这些文件可能会自动重新构建,因此可以直接使用"run"操作来启动应用程序,而不需要重新执行"build project"操作。

可以使用“Build→Build Project ”菜单命令进行编译:

其中,弹出“Save Changes-Qt Creator”对话框,是因为有未保存变化,在此是widget.ui文件未保存。可以选择构建之前总是先保存文件选项,这样以后再运行程序就也可以自动保存了。

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

特别提示:在 Qt 中,创建 C++ GUI 应用程序时,一般采用QtDesigner进行可视化界面设计,这种使用可视化方法设计用户界面,也可以直接以纯代码方式创建界面和布局。

使用Qt Designer进行可视化界面设计可以大大简化界面的创建过程。您可以在Qt Designer的可视化界面中拖放和排列控件,设置其属性和布局,设计界面的外观等。然后,Qt Designer会自动生成相应的UI文件,您只需在代码中引入该UI文件,然后在代码中实现界面的交互操作,具体来说,您可以在代码中连接信号和槽,处理用户的输入或事件,并执行相应的操作。前面给出了简单的示例。

也可以使用纯代码方式创建界面和布局以及实现界面的交互操作,您可以直接在C++代码中使用Qt框架提供的类和函数来创建和设置控件,以及进行布局。然后在代码中实现界面的交互操作。下面介绍这种方式。

使用纯代码创建界面和布局以及实现界面的交互操作的简单例子。

创建了一个窗体(QWidget),并在窗体中放置了一个标签(QLabel)和一个按钮(QPushButton)。当您运行这段代码时,将会显示一个具有标签和按钮的窗体,标签上显示 "Hello 世界" 的文本。当您点击按钮时,应用程序将退出。使用纯代码方式创建界面、设置布局,并实现简单的界面交互操作。

打开Qt Creator。

选择“新建项目”。

在左侧的“项目”部分,选择“Qt Widgets Application”。

单击“选择”按钮继续。

输入项目名称(我这里命名为:QtTest02),并选择保存项目的路径。单击“Next”按钮

构建系统(Build system)选项有:按默认,单击“Next”按钮。

这里去掉勾选Generate form复选框(因为要用纯代码方式创建界面和布局),单击“Next”按钮。

单击“Next”按钮,直到出现“Finish” 按钮单击之

在“类定义”页面,将自动生成的代码替换为例子的代码:

#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QPushButton>
#include <QVBoxLayout>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // 创建一个窗体
    QWidget window;

    // 创建一个标签,显示文本 "Hello 世界"
    QLabel label("Hello 世界", &window);

    // 创建一个按钮,用于退出应用程序
    QPushButton button("退出", &window);

    // 创建一个垂直布局管理器,并将标签和按钮添加到布局中
    QVBoxLayout layout;
    layout.addWidget(&label);
    layout.addWidget(&button);

    // 设置窗体的布局为垂直布局
    window.setLayout(&layout);

    // 连接按钮的点击信号到应用程序的退出槽
    QObject::connect(&button, &QPushButton::clicked, &app, &QApplication::quit);

    // 显示窗体
    window.show();

    // 运行应用程序的事件循环
    return app.exec();
}

构建和运行项目:

在Qt Creator的“编译”菜单中,选择“构建项目”或使用快捷键Ctrl+B,进行项目构建。

构建成功后,您可以在“编译输出”窗口中查看编译日志,确保没有错误或警告。

在Qt Creator的“运行”菜单中,选择“运行”或使用快捷键Ctrl+R,以启动应用程序。

应用程序的窗体将会显示出来,并且您可以点击按钮来测试界面的交互操作。

效果如下:

打开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)

附录

Qt Creator使用教程的简单说明https://www.zhangshengrong.com/p/Ap1Zey3AX0/

下一篇 Qt 6之二:项目的结构、资源文件的使用https://blog.csdn.net/cnds123/article/details/130741807

  • 12
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值