【Qt系列教程】一、认识Qt、安装Qt、运行Hello Qt

文章目录

  • 1.1 Qt 简介
  • 1.2 Qt 的安装
  • 1.3 编写 Hello World

1.1 Qt 简介

Qt(官网:https://www.qt.io)于1995年5月首次公开发布,是一个跨平台的应用程序开发框架,也是最主流的 C++ 开发框架;

Qt 具有其他编程语言的扩展,但其本身是用 C++ 开发的。

在这里插入图片描述

Qt 支持的开发语言:

  • C++ 和 QML:
    • Qt 对标准 C++ 语言进行了扩展,引入了信号与槽等机制;
    • QML(Qt Meta Language)是一个用来描述应用程序界面的声明式脚本语言;
    • C++ 和 QML 可以混合使用。
  • Python:
    • Qt C++ 可以被转换 Python 绑定,使用 Python 调用 Qt 类库进行 GUI 程序开发;
    • 常用的 Qt 类库 Python 绑定有:PyQt(GPLv3 许可)和 PySide(LGPLv3 许可)。

2020年12月正式发布了 Qt6.0,引入的主要新特性包括:

  • 支持C++17标准;
  • Qt 核心库的改动:新的属性和绑定系统;全面支持Unicode字符串;修改了 QList 的实现方式,将 QVector 类和 QList 类统一为QList 类;QMetaType 和 QVariant 几乎被重写;
  • 新的图形架构:Qt5 中 3D 渲染依赖 OpenGL。Qt6 中引入了新的技术 RHI(rendering hardware interface),它是一个抽象层,使得 Qt 可以使用平台本地化的 3D 图形 APl(Linux:Vulkan、 Windows:Direct 3D、 MacOS:Metal);
  • CMake 构建系统:Qt6 仍然支持 qmake 但建议使用 CMake;
  • 其他(多媒体、网络、Qt Quick 3D 等模块的改进)。

1.2 Qt 的安装

Qt6 如何安装?

在线安装包下载地址:official_releases / online_installers

[Step 1]: 如下图,点击 qt-unified-windows-x64-online.exe 进行下载

作者下载的版本为:qt-online-installer-windows-x64-4.8.0.exe

[Step 2]: 点击 register 进入 Qt 账号注册页面,并填写相关信息

[Step 3]: 进入 .exe 所在目录,执行如下命令(指定镜像源)开始安装 Qt,默认安装即可(可自定义安装目录)

qt-online-installer-windows-x64-4.8.0.exe -mirror https://mirrors.tuna.tsinghua.edu.cn/qt/
qt-online-installer-windows-x64-4.8.0.exe --mirror https://mirrors.aliyun.com/qt

在这里插入图片描述
[Step 4]: 勾选 Archive 再点击 筛选 即会从远程存储库中检索信息,才会出现 Qt 6.2.0,目前只需勾选 MinGW 8.1.0 64-bit,后续添加或删除可通过 MaintenanceTool.exe 操作
在这里插入图片描述
安装过程大概持续三四十分钟,可以在安装目录下看到 MaintenanceTool.exe

1.3 编写 Hello World

Qt Creator简介:

  • Qt Creator 为应用程序开发人员提供了一个完整的跨平台、集成开发环境(IDE)以便为桌面、嵌入式和移动设备平台(如 Android和 iOS)创建应用程序;
  • Qt Creator 提供了在整个应用程序开发生命周期所需的工具,从创建项目到将应用程序部署到目标平台。

[Step 1]: 新建一个GUI 项目,文件 -> New Project -> Application(Qt) -> Qt Widgets Application -> 选择
在这里插入图片描述
[Step 2]: Project Location - 自定义项目位置

[Step 3]: Define Build System - 选择构建系统
在这里插入图片描述
[Step 4]: Class Information - 选择基类
在这里插入图片描述
Base class 中的三个选项:

ClassFunction
QMainWindow主窗口类,包括菜单栏、工具栏、状态栏
QWidget可以创建一个空白的窗口,是所有界面组件的基类
QDialog对话框类

[Step 5]: Translation File - 翻译文件,这里并不需要,直接点击 Next
在这里插入图片描述
[Step 6]: 选择构建套件

[Step 7]: Project Management - 项目管理

[Step 8]: 项目界面如下

[Step 9]: 双击 widget..ui,拖动 Label 并写入 Hello Qt,也可以调整字体大小
在这里插入图片描述
[Step 10]: 使用快捷键 Ctrl + R 运行即可弹出窗口

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

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

相关文章

前端 实现有时间限制的缓存

首先我们需要创建一个名为TimeLimitedCache的构造函数,然后定义一些方法,如set, get,和count。以下是具体的示例代码: // 定义 TimeLimitedCache 构造函数 var TimeLimitedCache function( ) {// 初始化一个空的 cache 对象,用于…

【全开源】考试答题系统源码(FastAdmin+ThinkPHP+Uniapp)

一款基于FastAdminThinkPHPUniapp开发的小程序答题考试系统,提供全部前后台无加密源代码,支持私有化部署。 📝考试答题系统:便捷高效的学习新选择💡 📚 考试答题系统是什么? 考试答题系统&…

【Transformer(7)】Transformer架构解析

一、Transformer结构图 从上图可以看到: Transformer结构主要由编码和解码两大部分组成: (1)输入- position embedding - patch embedding (2)编码器 多头注意力机制 Add & NormMLP Add & Norm &…

怎么判断护眼台灯真的有用吗?揭秘护眼台灯怎么选!

中国目前面临着严重的近视问题,各学段学生的近视率普遍偏高,且高度近视的占比也不容忽视。这不仅对学生的身体健康构成威胁,也对国家的经济社会可持续发展和国家安全构成潜在风险。随着时代的进步和教育的普及,儿童近视的问题已经…

Ubuntu Todesk远程连接一直卡在100%

关于Todesk远程Linux卡在连接服务器的解决方案 在网上看到很多篇文章都说改硬解码什么的 反正我试过是没用 下面是我的解决方案 编辑下面的文件 sudo vim /etc/gdm3/custom.conf 这里如果大家不会使用 vim 退出 1. 按一下ESC键 2. 同时按住shfit: 3. 输入wq 4. 回车重启系…

植物大战僵尸杂交版全平台 PC MAC 安卓手机下载安装详细图文教程

最近植物大战僵尸杂交版非常的火,好多小伙伴都想玩一玩,但作者只分享了 win 版,像手机还有MAC电脑都没有办法安装,身为 MAC 党当然不能放弃,经过一番折腾,也是成功在所有平台包括手机和MAC电脑都成功安装上…

新闻发稿:8个新闻媒体推广中最常见的错误-华媒舍

在数字时代,新闻媒体的推广手段已经越来越多样化。许多媒体在推广过程中常常会犯下一些常见错误。本文将会介绍八个新闻媒体在推广中最常见的错误,并希望能够帮助各位更好地规避这些问题。 1. 缺乏明确的目标受众 在进行推广前,新闻媒体需要…

有钱还系统源码,人人还众筹还钱模式还贷系统源码

盈利模式: 1.系统里直推400 2.间推得200 3.升级是隔代匹配200 4.漏单直接设置归系统 5.九级匹配不到直接归平台 有钱还平台新注册会员,即新入的负债者要分9次分别资助先来的11名负债者每人200元,这笔资助不是一次性给到对方&#xff0c…

php设计模式之单例模式详解

单例模式(Singleton Pattern)是一种常用的软件设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。在PHP开发中,单例模式常用于那些需要频繁实例化但又希望限制实例数量的场景,比如数…

docker学习--最详细的docker run 各子命令解释与应用

文章目录 docker run应用docker run -it那怎样才能退出容器而不用容器关闭呢 docker run -d-p-P--name docker run 容器运行命令 docker run 常见的子命令及其含义 -i 交互式,和-t一起使用 -t 打开一个终端 -d 后台运行 -p/-P 暴露容器中的服务端口 –name 指定容…

速通systemverilog

这里写目录标题 一、systemverilog的大部分新语法logicalways_combunique_casepriority casealways_fftypedefstructenumunioninterface 二、实现流水灯三、全加器以及仿真 一、systemverilog的大部分新语法 logic always_comb unique_case priority case case中常量和变量互…

透视龙江安全网:黑龙江信息安全等级保护测评的标准化实践与地域特性

在当今数字时代,信息安全成为衡量社会发展水平的重要指标之一。作为中国北方的重要省份,黑龙江省在推进信息安全等级保护测评(以下简称“等保测评”)的过程中,既遵循了国家统一的标准框架,又在实践中融入了…

对HTTP和HTTPS的介绍

HTTP HTTP 是什么? HTTP (全称为 “超⽂本传输协议”) 是⼀种应⽤⾮常⼴泛的 应用层协议. 所谓 “超⽂本” 的含义, 就是传输的内容不仅仅是⽂本(⽐如 html, css 这个就是⽂本), 还可以是⼀些其他的资源, ⽐如图⽚, 视频, ⾳频等⼆进制的数据 HTTP 往往是基于传输层…

Python入门推荐:初学者指南与深度探索

Python入门推荐:初学者指南与深度探索 在数字时代的浪潮中,Python作为一种强大且易学的编程语言,日益受到广大编程爱好者的青睐。对于初学者而言,如何选择合适的入门路径,以及如何深入学习Python的精髓,是…

重学java 52.Collections集合工具类、泛型

"我已不在地坛&#xff0c;地坛在我" —— 《想念地坛》 24.5.28 一、Collections集合工具类 1.概述:集合工具类 2.特点: a.构造私有 b.方法都是静态的 3.使用:类名直接调用 4.方法: static <T> boolean addAll(collection<? super T>c,T... el…

Spring Bean的Session作用域:深度剖析与实战应用

1. 引言 理解Spring框架中Bean的作用域至关重要。其中&#xff0c;Session作用域在Web应用程序中尤为关键&#xff0c;因为它确保了用户会话期间Bean实例的共享和一致性。 2. Session作用域的基本概念 Session作用域意味着在一个HTTP Session的生命周期内&#xff0c;Spring容…

YOLOv10(1):初探,训练自己的数据

目录 1. 写在前面 2. 值得关注的点 3. 训练自己的数据集 4. 阅读代码的小建议 1. 写在前面 很多人YOLOv9还没有完全研究透&#xff0c;YOLOv10出来了。 惊不惊喜&#xff0c;意不意外&#xff01; 据论文里提到&#xff0c;YOLOv10就是为了加速推理&#xff0c;在保证精度的…

深入分析 Android BroadcastReceiver (二)

文章目录 深入分析 Android BroadcastReceiver (二)1. 深入理解 BroadcastReceiver 的高级使用和优化2. 有序广播&#xff08;Ordered Broadcasts&#xff09;2.1 实现有序广播 3. 粘性广播&#xff08;Sticky Broadcasts&#xff09;3.1 使用粘性广播 4. 本地广播&#xff08;…

如何在SpringBoot中定义一个自定义的Starter?

在 Spring Boot 中创建一个自定义的 Starter 涉及到创建一个自动配置模块&#xff0c;包括了一组预选的依赖定义和自动配置类。以下是定义一个自定义 Starter 的步骤&#xff1a; 1. 创建自定义 Starter 项目 首先&#xff0c;创建一个新的 Maven 或 Gradle 项目作为自定义 S…

VSCode插件Sort Lines

Sort Lines是一款VSCode中的扩展&#xff0c;可以帮助你对所选文本或整个文件中的行进行排序。可以给你按字母大小排序&#xff08;升序、降序&#xff09;&#xff0c;也可以进行排序去重。而且还能将所有文本打乱顺序。做短文本分类的训练&#xff0c;清洗数据集的时候&#…