【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 运行即可弹出窗口

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows安装Kibana7.17.0

安装 Kibana 是通过下载 Kibana 压缩包并解压,然后进行简单的配置即可。以下是在 Windows 系统上安装 Kibana 的基本步骤: 1. 下载 Kibana 访问 Elastic 官网的下载页面,选择适用于你系统的 Kibana 版本进行下载。根据你的系统选择 Windows…

【Linux】进程间通信(System V IPC)

这节我们开始学习System V IPC方案。 分别是共享内存,消息队列与信号量 会着重讲解共享内存,但是消息队列与信号量只会说明一下原理。 原因:System V是新设计的一套标准 与文件的整合度不高只能进行本地通信 更何况,我们现在有…

【30天精通Prometheus:一站式监控实战指南】第15天:ipmi_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们👋   欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀   Prometheus是云原生和DevOps的…

flink Jobmanager metaspace oom 分析

文章目录 现象作业背景分析现象分析类卸载条件MAT 分析 解决办法flink 官方提示 现象 通过flink 页面提交程序,多次提交后,jobmanager 报metaspace oom 作业背景 用户代码是flink 代码Spring nacos 分析 现象分析 从现象来看肯定是因为有的类没有被…

[学习笔记](b站视频)PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】(ing)

视频来源:PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】 前面P1-P5属于环境安装,略过。 5-6.Pytorch加载数据初认识 数据文件: hymenoptera_data # read_data.py文件from torch.utils.data import Dataset …

RabbitMQ-直连交换机(direct)使用方法

RabbitMQ-默认读、写方式介绍 RabbitMQ-发布/订阅模式 目录 1、概述 2、直连交换机 3、多重绑定 4、具体代码实现 4.1 生产者部分 4.2 消费者部分 5、运行代码 6、总结 1、概述 直连交换机,可以实现类似路由的功能,消息从交换机发送到哪个队列…

使用低代码系统的意义与价值主要体现在哪里?

使用低代码系统的意义与价值主要体现在以下几个方面,这些观点基于驰骋低代码设计者的专业洞察和行业经验: 快速原型创建: 低代码平台通过提供图形化界面和预构建的模块,极大地加速了系统原型的创建过程。这意味着企业能够更快地验…

Aras Innovator-Team(群组)的使用方法

当Aras Innovator在处理权限时,在不使用Team的情况下,系统的权限配置可以满足大部分业务场景,如:常见的按照组织架构,成员和角色分配权限,按照生命周期分配权限等。 如果遇到比较复杂的权限需求&#xff0c…

Docker安装启动Mysql

1、安装Docker(省略) 网上教程很多 2、下载Mysql5.7版本 docker pull mysql:5.7 3、查看镜像是够下载成功 docker images 4、启动镜像,生成容器 docker run --name mysql5.7 -p 13306:3306 -e MYSQL_ROOT_PASSWORD123456 -d mysql:5.7 5…

通过非欧几何体改变 AI 嵌入

目录 一、说明 二、LLM嵌入的形势 三、了解一些背景信息 3.1 什么是嵌入? 3.2 为什么嵌入在 NLP 中很重要? 3.3 复数Complex 几何的角色 3.4 C主动学习 3.5 角度嵌入 (AE):解锁稳健排序 3.6 RotatE:将关系…

探索 Python 的 vars() 函数

大家好,在软件开发的过程中,调试是一个不可或缺的环节。无论你是在解决 bug,优化代码,还是探索代码的执行流程,都需要一些有效的工具来帮助你更好地理解和调试代码。在 Python 编程中,vars() 函数是一个非常…

无人机路径规划:基于鸽群优化算法PIO的无人机三维路径规划MATLAB代码

一、无人机模型介绍 无人机三维航迹规划_无人机航迹规划-CSDN博客 二、部分代码 close all clear clc warning (off) global model global gca1 gca2 gca3 gca4 model CreateModel(); % Create search map and parameters load(BestPosition5.mat); load(ConvergenceCurve5…

【Linux】Linux的权限_1

文章目录 三、权限1. shell外壳2. Linux的用户3. Linux权限管理文件访问者的分类文件类型和访问权限 未完待续 三、权限 1. shell外壳 为什么要使用shell外壳 由于用户不擅长直接与操作系统直接接触和操作系统的易用程度、安全性考虑,用户不能直接访问操作系统。 什…

GIS、GPS、RS综合应用

刘老师(副教授),北京重点高校资深专家,拥有丰富的科研及工程技术经验,长期从事3S在环境中的应用等领域的研究和教学工作,具有资深的技术底蕴和专业背景。 第一章、3S 技术及应用简介 1.1、3S 技术及集成简…

C++20 范围(Range):简化集合操作

C20 范围:简化集合操作 一、范围(Range)的目的二、在模板函数中使用范围概念三、投影四、视图五、结论 一、范围(Range)的目的 在 C20 中,范围概念要求一个对象同时拥有迭代器和结束哨兵。这在标准集合的上…

STM32HAL-最简单的长、短、多击按键框架

目录 概述 一、开发环境 二、STM32CubeMx配置 三、编码 四、运行结果 五、总结 概述 本文章使用最简单的写法实现长、短、多击按键框架,非常适合移植各类型单片机,特别是资源少的芯片上。接下来将在stm32单片机上实现,只需占用1个定时…

定个小目标之每天刷LeetCode热题(7)

今天这道题是道简单题,使用双指针进行迭代即可,画了下草图如下 代码如下 class Solution {public ListNode reverseList(ListNode head) {if (head null || head.next null) {return head;}ListNode p head, q head.next, temp null;while (q ! nu…

电脑缺少dll文件怎么解决,分享几种靠谱的解决方法

在现代科技高度发达的时代,电脑已经成为我们生活和工作中不可或缺的工具。然而,在使用电脑的过程中,我们可能会遇到一些问题,其中之一就是电脑丢失dll文件。那么,当我们面临这样的问题时,应该如何解决呢&am…

全新市场阶段,Partisia BlockChain 将向 RWA、DeFi 等领域布局

Partisia Blockchain 是一个全新范式的 Layer1,该链通过 MPC 方案来构建链上隐私方案,同时该链通过系列独特且创新的设计,旨在进一步解决目前 Web3 中所面临的不可能三角问题,包括安全性、互操作性和可扩展性,为更多的…

Mac安装pytorch(二)

书接上回,配置好了pytorch环境后,看看是否真的能用 终端输入一下代码: import torch xtorch.rand(3,4) print(x) 出现这些后表明安装完成,可使用 接下来在pycharm中使用 打开设置