QT开发(QT的基本概述和环境的安装)

news2024/9/20 5:37:29

QT的概述

  • 一.QT的介绍背景
    • 1.1 什么是QT
    • 1.2QT的发展史
    • 1.3 Qt支持的平台
    • 1.4QT版本
    • 1.5QT的优点
    • 1.6QT的应用场景
  • 二.搭建QT开发环境
    • 2.1 QT的开发工具的下载
    • 2.2 QT环境变量配置
  • 三.QT的三种基类
  • 四.QT Hello World程序
    • 4.1使用按钮实现
      • 4.1.1 代码方式实现
      • 4.1.2 可视化操作实现

一.QT的介绍背景

1.1 什么是QT

Qt 是⼀个 跨平台的 C++ 图形用户界⾯应用程序框架 。它为应用程序开发者提供了建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展。Qt 为开发者提供了⼀种基于组件的开发模式,开发者可以通过简单的拖拽和组合来实现复杂的应用程序,同时也可以使用 C++ 语言进行高级开发。

1.2QT的发展史

1991 年 Qt 最早由奇趣科技开发;
1996 年 进⼊商业领域,它也是目前流行的 Linux 桌面环境 KDE 的基础;
2008 年 奇趣科技被诺基亚公司收购,Qt 称为诺基亚旗下的编程语言;
2012 年 Qt ⼜被 Digia 公司收购;
2014 年 4 月跨平台的集成开发环境 Qt Creator3.1.0 发布,同年 5 月 20 日发布了 Qt 5.3 正式版,到
此 Qt 实现了对 IOS、Android、Embedded 等各平台的全面⽀持。

1.3 Qt支持的平台

  1. Windows ‒ XP、Vista、Win7、Win8、Win2008、Win10
  2. Unix/X11 ‒ Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/OS、和其他很多 X11 平台
  3. Macintosh ‒ Mac OS X
  4. Embedded ‒ 有帧缓冲⽀持的嵌⼊式 Linux 平台,Windows CE
  5. Android

1.4QT版本

⽬前最新的版本是 Qt 6. 但是相对来说 Qt 6 和 Qt 5 之间的核⼼功能区别不⼤. 并且企业中也仍然有⼤量的项⽬在使⽤ Qt 5.

1.5QT的优点

  • 跨平台,几乎支持所有的平台;
  • 接口简单,容易上手,学习 QT 框架对学习其他框架有参考意义。
  • ⼀定程度上简化了内存回收机制;
  • 开发效率高,能够快速的构建应⽤程序。
  • 有很好的社区氛围,市场份额在缓慢上升。
  • 可以进行嵌⼊式开发。

1.6QT的应用场景

  • 桌面应用程序
    Qt 能够创建各种类型的桌面应用程序,包括⽂件管理器、媒体播放器、绘图程序等。Qt 应用程序支持
    多种操作系统,可以运⾏在 Windows、Linux、macOS 等桌面操作系统上。
  • 移动应用程序
    Qt ⽀持 Android 和 IOS 移动操作系统,为应⽤程序提供了强大的跨平台能力。可以使用 Qt 构建各种
    移动应用程序,例如社交应用、游戏、娱乐等。
  • 嵌入式系统
    Qt 在嵌⼊式领域应用非常⼴泛,它可以构建⾯向各种设备的图形应用程序,在机顶盒、车载娱乐系
    统、安防监控设备等领域具有⼴泛的应用。

二.搭建QT开发环境

2.1 QT的开发工具的下载

QT下载官网:链接

2.2 QT环境变量配置

1.找到QT的安装路径,复制bin路劲;
在这里插入图片描述

2.“此电脑” ------> 鼠标右键, “属性” ------> “高级系统设置” ------> “环境变量”
如果没有直接在电脑搜索界面搜索环境变量即可
在这里插入图片描述
双击打开后来到这个界面
在这里插入图片描述然后,在系统环境变量里找到Path
在这里插入图片描述
在点击新建——>填入刚刚复制的bin路劲即可

三.QT的三种基类

基类说明
QMainWindo主窗⼝类,⼀般用于较为复杂的应用程序,除了中央客户区界面,还包括菜单栏、工具栏、状态栏以及多个可停靠的⼯具对话框等
QWidget最简单、最基本的窗体程序,里面可以放置多个控件实现程序功能
QDialog基于对话框的程序,对话框⼀般用于弹窗,也可以用于主界面显示。对话框是从QWidget继承而来的,并丰富了⼀些功能,如模态显示和返回值等

上述三个类之间的关系图如下:
在这里插入图片描述

四.QT Hello World程序

4.1使用按钮实现

4.1.1 代码方式实现

创建一个新的项目,在widget文件中编写即可

#include "widget.h"
#include "ui_widget.h"
#include<QPushButton>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QPushButton*btn = new QPushButton();
    btn->setText("按妞");//设置文本
    btn->setParent(this);//显示到窗口上

}

Widget::~Widget()
{
    delete ui;
}


在这里插入图片描述

4.1.2 可视化操作实现

双击此处的widget.ui即可
在这里插入图片描述

此时会出现工具栏,点击工具栏的Buttons下的 Push Button即可

在这里插入图片描述

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

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

相关文章

Java_如何在IDEA中使用Git

注意&#xff1a;进行操作前首先要确保已经下载git&#xff0c;在IDEA中可以下载git&#xff0c;但是速度很慢&#xff0c;可以挂梯子下载。 导入git仓库代码 第一次导入&#xff1a; 首先得到要加载的git仓库的url&#xff1a; 在git仓库中点击 “克隆/下载” 按钮&#xf…

【马斯洛需求层次理论】

马斯洛层次需求理论指导人生 作者 π 作者前言&#xff1a; 我认为人生是要一些原则和理论支撑指导的&#xff0c;不然人就很容易失去方向&#xff0c;动力。活得也会非常的累。 有时候不仅不自知&#xff0c;很多情况下不能理解他人的行为和感受。这就是让自己的社交变得很不…

推荐系统三十六式学习笔记:工程篇.常见架构25|Netflix个性化推荐架构

目录 架构的重要性经典架构1.数据流2.在线层3.离线层4.近线层 简化架构总结 你是否曾经觉得算法就是推荐系统的全部&#xff0c;即便不是全部&#xff0c;至少也是嫡长子&#xff0c;然而实际上&#xff0c;工程实现才是推荐系统的骨架。如果没有好的软件实现&#xff0c;算法不…

LoRaWAN网络中的chirpstack

目录 一、chirpstack介绍 二、网关与chirpstack之间的通信 三、NS与AS之间的通信 1、Protobuf 2、gRPC 一、chirpstack介绍 ChirpStack 是一个开源的 LoRaWAN 网络服务器&#xff0c;可用于 设置私有或公共 LoRaWAN 网络。ChirpStack 提供了一个 Web 界面 用于管理网关、设…

【计算机网络】OSPF单区域实验

一&#xff1a;实验目的 1&#xff1a;掌握在路由器上配置OSPF单区域。 2&#xff1a;学习OSPF协议的原理&#xff0c;及其网络拓扑结构改变后的变化。 二&#xff1a;实验仪器设备及软件 硬件&#xff1a;RCMS交换机、网线、内网网卡接口、Windows 2019操作系统的计算机等。…

OpenSSL学习笔记及在项目中的使用

OpenSSL官方命令手册&#xff1a;OpenSSL commands - OpenSSL Documentation 参考教程&#xff1a; 操作&#xff1a;OpenSSL的基本使用教程(一&#xff09;_openssl.exe使用教程-CSDN博客 操作&#xff1a;Linux和Shell回炉复习系列文章总目录 - 骏马金龙 - 博客园 (cnblog…

微服务安全——OAuth2.1详解、授权码模式、SpringAuthorizationServer实战、SSO单点登录、Gateway整合OAuth2

文章目录 Spring Authorization Server介绍OAuth2.0协议介绍角色OAuth2.0协议的运行流程应用场景授权模式详解客户端模式密码模式授权码模式简化模式token刷新模式 OAuth 2.1 协议介绍授权码模式PKCE扩展设备授权码模式拓展授权模式 OpenID Connect 1.0协议Spring Authorizatio…

揭秘!西藏首个基础教育信创示范基地,有何特殊之处?

学生可以通过玩游戏的方式来学习汉字&#xff0c;可以通过编程课件控制小汽车的行动轨迹&#xff0c;老师可以根据学生作业大数据&#xff0c;现场作精准解析与辅导……一个鼠标、一个键盘、一块屏幕&#xff0c;这是西藏首个基础教育信创示范基地的教学场景。 值得注意的是&am…

linux多线程概述和基本管理

线程概念 什么是线程&#xff1f; 线程是参与系统调度的最小单位。它被包含在进程之中&#xff0c;是进程中的实际运行单位。一个线程指的是进程中一个单一顺序的控制流&#xff08;或者说是执行路线、执行流&#xff09;&#xff0c;一个进程中可以创建多个线程&#xff0c;…

流量卡流量与实际不符,这种是套路吗?

购买的流量卡与宣传不符&#xff0c;是不是套餐呢&#xff0c;这种并不是全部都是套路&#xff0c;目前常见的流量与实际不符的原因有&#xff1a;到账延迟、首月扣费模式、流量限制、虚假宣传等等&#xff0c;具体我们一块来看一下。 ​ 流量卡与实际不符的原因&#xff1a; …

git等常用工具以及cmake

一、将git中的代码克隆进电脑以及常用工具介绍 1.安装git 首先需要安装git sudo apt install git 注意一定要加--recursive&#xff0c;因为文件中有很多“引用文件“&#xff0c;即第三方文件&#xff08;库&#xff09;&#xff0c;加入该选项会将文件中包含的子模…

怎样确保eBay自养号测评的真实性?高效运作与实操技巧

在eBay平台上&#xff0c;销量是衡量一个店铺成功与否的重要指标。然而&#xff0c;对于一些新开的店铺或者想要快速提升销量的卖家来说&#xff0c;仅仅依靠自然流量是不够的。这时候&#xff0c;自养号测评就成为了一种有效的手段。本文将从注册到提高销量的全过程&#xff0…

HTTP ESP8266 获取天气请求 单片机,嵌入式 2024/7/26 日志

通过http请求获取天气信息: 这里借鉴一下 中国气象局网站举例 首先根据网址 分析: http://weather.cma.cn/ 通过vscode插件:REST Client 发送请求我们会得到内容 首先我们的打开浏览器调试工具查看请求格式 筛选以下几个关键的格式,试着用插件发送请求 GET /web/weather…

昇思25天学习打卡营第23天|基于MobileNetV2的垃圾分类

文章目录 昇思MindSpore应用实践1、MobileNetv2模型原理介绍2、数据准备数据预处理操作 3、基于MindSpore的MobileNetV2模型搭建ReLU6激活函数深度可分离卷积MobileNetV2网络结构 4、模型训练与测试5、模型推理 Reference 昇思MindSpore应用实践 本系列文章主要用于记录昇思25…

mysql面试(七)

前言 本章节列出了mysql在增删改查的时候&#xff0c;分别会涉及到哪些锁类型&#xff0c;又是如何交互的。 这个章节也是mysql面试基础系列的最后一章&#xff0c;后面准备更新redis数据类型和分布式锁相关问题。如果各位看官有什么问题的话&#xff0c;可以留言。 锁 之前…

【动态规划】不同路径

不同路径&#xff08;难度&#xff1a;中等&#xff09; AC代码 有点水 class Solution { public:int uniquePaths(int m, int n) {//以m为行&#xff0c;n为列&#xff0c;创建二维数组vector <vector<int>> dp(m1,vector<int>(n1));dp[0][1]1;dp[1][0]1;…

Python 教程(三):字符串特性大全

目录 专栏列表前言1. 字符串基础2. 字符串方法字符串查询字符串修改字符串切片 3. 字符串格式化旧式格式化&#xff08;% 操作符&#xff09;str.format() 方法f-string&#xff08;Python 3.6&#xff09; 4. 字符串编码5. Unicode 和 ASCII6. 正则表达式7. 字符串比较8. 字符…

LongAlign:大模型长文本处理能力提升之道

人工智能咨询培训老师叶梓 转载标明出处 大模型&#xff08;LLMs&#xff09;在处理长文本时&#xff0c;需要在输入序列上进行指令微调&#xff08;instruction finetuning&#xff09;&#xff0c;以确保它们能够有效地处理长文本。现有的方法主要集中在上下文扩展&#xff0…

ACC2.【C语言】经验积累 栈区简单剖析

int main() {int i0;int arr[10]{1,2,3,4,5,6,7,8,9,10};for (i0;i<12;i){arr[i]0;printf("A");}return 0; } 执行后无限打印A 在VS2022&#xff0c;X86,Debug环境下&#xff0c;用监视后&#xff0c;原因是arr[12]的地址与i的地址重合&#xff08;数组越界&…

c++语言学习注意事项

当学习C语言时&#xff0c;有几个重要的注意事项可以帮助初学者更有效地掌握这门强大的编程语言&#xff1a; 1. 理解基本概念和语法 C 是一门复杂且功能强大的编程语言&#xff0c;因此理解其基本概念和语法至关重要。初学者应该重点掌握以下几个方面&#xff1a; 基本语法和…