一、初识Qt 之 Hello world

news2024/11/20 21:12:09

一、初识Qt 之 Hello world

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

初识Qt 之 Hello world文章目录

  • 一、Qt 简介
  • 二、Qt 获取安装
  • 三、Qt 初步使用
  • 四、Qt 之 Hello world
    • 1.新建一个项目
  • 总结


一、Qt 简介

C ++是一种通用的标准编程语言,使用任何编辑器都可以编写 C ++源程序,然后利用 C ++编译器对程序进行编译,就可以生成可执行的程序。

为了方便进行 C ++程序的编写和编译,有各种综合开发环境( Integrated Developing Environment , IDE ),如 Visual Studio 就是 Windows 平台上常见的编写 C ++程序的 IDE 。一个 IDE 不仅提供程序的编辑和编译,一般还提供一套基本类库,用于提供支持平台应用程序开发的各种基本类,如 Visual Studio 使用 MFC 进行 Windows 平台的应用程序开发。

Qt 是一套应用程序开发类库,但与 MFC 不同, Qt 是跨平台的开发类库。 Qt 支持 PC 和服务器的平台,包括 Windows 、 Linux 、 macOS 等,还支持移动和嵌入式操作系统,如 iOS 、 Embedded Linux 、 Android 、 WinRT 等。跨平台意味着只需编写一次程序,在不同平台上无需改动或只需少许改动后再编译,就可以形成在不同平台上运行的版本。这种跨平台功能为开发者提供了极大的便利。

Qt 最早是由挪威的 Haavard Nord 和 Eirik Chambe - Eng 在1991年开始开发的,在1994年发布,并成立了一家名为 Trolltech 的公司。 Trolltech 公司在2008年被诺基亚公司收购。2012年, Qt 被 Digia 公司收购,并在2014年成立了独立的 Qt 公司,专门进行 Qt 的开发、维护和商业推广。

C ++语言使用广泛,长盛不衰,易在不同平台上移植,其编译生成的程序执行效率高,所以在专业研究领域很多开源的算法程序或类库都是用 C ++编写的。使用 QtC ++编写应用程序,可以使自己的应用程序具有跨平台移植的功能,也可以利用各种开源的类库资源。所以,扎实地掌握 QtC ++编程就如同掌握了一件利器,无论是通过编程实现自己的专业研究成果,还是从事专业软件开发都具有长远意义。

二、Qt 获取安装

在总结归纳过程中我们使用的是Windows10 下的Qt5.9开发,有在其他系统开发设计可以到官网进行下载对应的 Qt 版本。

Qt获取可以从百度云盘进行获取,网上有很多安装教程,在此就不进行归纳总结,主要注意安装过程中的选配和安装路径。

安装包链接码:
链接:https://pan.baidu.com/s/1nVTcX4CcvISbc3uNCT2quQ?pwd=uwft
提取码:uwft

. MinGW 5.3.032 bit 编译器模块。 MinGW 是 Minimalist GNU for Windows 的缩写, MinGW 是 Windows 平台上使用的 GNU 工具集导入库的集合。
·用于 UWP 编译的模块。 UWP 是 Windows 10中 Universal Windows Platform 的简称,有不同编译器类型的 UWP 。
·用于 windows 平台上的 MSVC 编译器模块,如msvc201532- bit 和msvc201564- bit 等。要
安装 MSVC 编译器的模块,需要计算机上已经安装相应版本的 Visual Studio .
·用于 Android 平台的模块,如 Android x86和 Android ARMv7。
· Sources 是 Qt 的源程序。
· Qt Charts 是二维图表模块,用于绘制柱状图、饼图、曲线图等常用二维图表。
· Qt Data Visualization 是三维数据图表模块,用于数据的三维显示,如散点的三维空间分布三维曲面等。
· Qt Purchasing 、 Qt Webor1览( Technology Preview )。
· Qt Scritp ( Deprecated )是脚本模块,括号里的" Deprecated "表示这是个已经过时模块。
" Tools "节点下面是一些工具软件,包括内容如下。
· Qt Creator 4.3.1是用于 Qt 程序开发的 IDE 。
. MinGW 5.3.0是 MinGW 编译工具链。
. Strawberry Perl 是一个 Perl 语言工具。
根据个人的需要设置安装选项,无需选择所有的安装选项。例如,如果不需要进行 UWP 台的开发, UWP 模块就可以都不选;如果不是为和以前开发的源程序兼容,过时的模块不要选择如 Qt Seript 就是已过时的模块。

在这里插入图片描述

三、Qt 初步使用

(1)启动Qt creator
其中有大量的实例,选择某个实例就可以在Qt creator中打开该项目源程序。
在这里插入图片描述

四、Qt 之 Hello world

1.新建一个项目

选择新建项目
在这里插入图片描述
选择创建一个窗口应用
在这里插入图片描述

选择一个项目存储路径
在这里插入图片描述
在下面界面会有选项基类,我们默认选择,后续会根据进度进行其他基类的演示。
在这里插入图片描述

至此项目创建成功,在Forms中就是窗口界面,其他的.h/.cpp文件分别在不同文件家中,如图所示。
在这里插入图片描述
双击mainwindow.ui文件,就会有ui设计窗口
在这里插入图片描述我们在DISPLAY WIDGETS分组中,拖一个Label组件拖进窗口中
在这里插入图片描述

在窗口右下方属性编辑器例编辑Font属性,Point Size改为12,勾选Bold加粗
在这里插入图片描述
选择构建工具,然后直接 点击 运行,可以实现窗口弹出
在这里插入图片描述

设计的窗口有 分辨率 问题。
在这里插入图片描述

在main中增加
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
对高分辨率进行适应

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
//    QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true);
//    QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);

    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}


再次运行,显示串口正常,与设计的一致

在这里插入图片描述

总结

经过20多年的发展, Qt 已经成为最优秀的跨平台开发框架之一,在各行各业的项目开发中得到广泛应用。许多大型软件都是用 Qt 开发的,如 Autodesk Maya 、 Google Earth 、 Skype 、 WPS Office 等。

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

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

相关文章

html+css web前端 多边形

<!DOCTYPE html><html><head><meta charset"UTF-8"><title>多边形</title><style type"text/css">#pentagon_6_1 {position: absolute;top: 0px;height: 0; width: 100; border-left: 100px solid rgb(255, 255…

5.31——进军MYSQL

目录 简略版&#xff1a; 详解版&#xff1a; 一. myaql概述&#xff1a; 数据库&#xff1a; 数据库管理系统&#xff1a; SQL&#xff1a; 二. masql的安装&#xff1a; 启动与停止&#xff1a; 1. MYSQL提供的命令行 2. windows提供的命令行工具 三.数据模型 …

快手发布大模型产品“可图”,超20种创新AI图像玩法限免上线

近日&#xff0c;快手自研大模型产品“可图”&#xff08;Kolors&#xff09;正式对外开放&#xff0c;支持文生图和图生图两类功能&#xff0c;已上线20余种AI图像玩法。目前&#xff0c;用户可以通过“可图大模型”官方网站和微信小程序&#xff0c;免费使用各项AI图像功能。…

光学仪器镀膜上下料设备:智能化生产的引领者

当智能技术与制造业相融合&#xff0c;富唯智能镀膜上下料设备成为智能化生产的新引擎。它不仅将智能化、自动化理念融入到生产的各个环节&#xff0c;更为企业带来了生产效率的提升和成本的降低。 富唯智能镀膜上下料设备以其卓越的性能&#xff0c;在实现单面和两面镀膜的上料…

RocketMQ学习(2) 深入学习

RokcetMQ的介绍和基础知识见这篇博客——RocketMQ学习(1) 快速入门 本篇为上一篇的深入学习&#xff0c;很多基础知识不再赘述。 目录 消息重复消费问题(去重;幂等)布隆过滤器 重试机制死信消息 SpringBoot集成RocketMQ集成SpringBoot发送不同消息模式(同步消息)异步消息单向消…

预编码算法(个人总结)

引言 预编码算法是现代无线通信系统中的关键技术&#xff0c;特别是在多输入多输出&#xff08;MIMO&#xff09;系统中。它们通过在发送端对信号进行处理&#xff0c;减少干扰并提高信道容量。这种技术广泛应用于5G、Wi-Fi和卫星通信系统中。本教程将详细介绍预编码算法的背景…

高精度GNSS模块的无人机导航

高精度GNSS模块提供更高的精度和可靠性&#xff0c;有助于提高无人机的安全性和效率。这些模块允许无人机遵循预定的飞行路线&#xff0c;与障碍物保持安全距离&#xff0c;并以更高的精度悬停。高精度GNSS模块广泛应用于测绘、农业建设、石油天然气、公安等行业。 GNSS模块技…

文件系统小册(FusePosixK8s csi)【1 Fuse】

文件系统小册&#xff08;Fuse&Posix&K8s csi&#xff09;【1 Fuse&#xff1a;用户空间的文件系统】 Fuse(filesystem in userspace),是一个用户空间的文件系统。通过fuse内核模块的支持&#xff0c;开发者只需要根据fuse提供的接口实现具体的文件操作就可以实现一个文…

LNMP部署及应用

目录 1.LNMP概述 Nginx 特点 Nginx 作用 2.分布式部署LNMP操练 Nginx主机&#xff1a;CentOS 7-1 PHP主机: CentOS 7-2 1.LNMP概述 Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器&#xff0c;而且支持热部署&#xff0c;几乎可以做到 7 * 24 小时不间断运行&…

idea中使用maven-helper插件阅读排查【经典版】2

一 maven-helper的使用 1.1 helper页面 打开pom文件&#xff0c;并可以切换tab&#xff0c;简单使用&#xff0c;如下图&#xff1a; Conflicts&#xff08;查看冲突&#xff09; All Dependencies as List&#xff08;列表形式查看所有依赖&#xff09; All Dependencies …

字符串和字符串函数(2)

前言&#xff1a; 在字符串和字符串函数&#xff08;1&#xff09;-CSDN博客中&#xff0c;已将将字符串和字符函数的使用了解&#xff0c;并且实现模拟了一些字符串的库函数。 接下来将继续深入学习字符串和字符串函数。并且模拟实现一些较为复杂的函数。 可控制字符…

香港云服务器好还是国内的好?

香港云服务器与国内云服务器各有其优点和缺点&#xff0c;选择哪种类型的云服务器主要取决于业务需求、用户群体、网络需求以及成本考虑。以下是对两者进行详细比较的内容。 首先&#xff0c;从网络速度和稳定性来看&#xff0c;香港云服务器具有独特的优势。由于香港是全球数据…

day18

第一题 493. 翻转对 这道题我们采用分治的思想&#xff0c;通过单调性和双指针的策略来解决&#xff1a; 策略一&#xff1a; 我们通过递归将每一个分的左区域和右区域变成降序排列&#xff0c;最后在同一层的左右区域进行判断&#xff0c;当前数组为降序时&#xff0c;固定每…

Redis-Cluster模式基操篇

一、场景 1、搞一套6个主节点的Cluster集群 2、模拟数据正常读写 3、模拟单点故障 4、在不停服务的情况下将集群架构改为3主3从 二、环境规划 6台独立的服务器&#xff0c;端口18001~18006 192.169.14.121 192.169.14.122 192.169.14.123 192.169.14.124 192.169.14.125 192…

.NET数据交互之生成和读取YAML文件

最近在项目中&#xff0c;业务上需要与Python进行交互&#xff0c;而Python程序用的配置文件主要是YAML&#xff0c;程序以命令行形式运行&#xff0c;前端页面由C#通过WPF开发完成。现在需要通过C#生成YAML配置文件&#xff0c;并经过Python读取和修改后&#xff0c;再次由C#进…

【数据结构】详解二叉树

文章目录 1.树的结构及概念1.1树的概念1.2树的相关结构概念1.3树的表示1.4树在实际中的应用 2.二叉树的结构及概念2.1二叉树的概念2.2特殊的二叉树2.2.1满二叉树2.2.2完全二叉树 2.3 二叉树的性质2.4二叉树的存储结构2.4.1顺序结构2.4.2链表结构 1.树的结构及概念 1.1树的概念…

从人工向智能化转变,企业级指标管理平台建设实战

随着大数据技术和人工智能的发展&#xff0c;企业逐渐意识到构建一个集中化的指标管理平台的必要性。这样的平台旨在解决几个核心问题&#xff1a;首先&#xff0c;确保所有部门都能通过统一的入口提交指标需求&#xff0c;实现需求的透明化管理&#xff1b;其次&#xff0c;建…

短剧、全家桶和大模型,谁是“史上最难618”解药?

今年618一如既往地难&#xff0c;不仅竞争加剧&#xff0c;声量也不尽如人意。618大促话题整体关注量也就略胜“京东亲严查考勤”事件一筹。 图源&#xff1a;微博话题数据 大环境如此&#xff0c;大促时间越来越长&#xff0c;平台竞争愈演愈烈。今年多数平台5月20日前后就抢…

Docker 环境下 3D Guassian Splatting 的编译和配置

Title: Docker 环境下 3D Guassian Splatting 的编译和配置 文章目录 前言I. 宿主系统上的安装配置1. 安装 nvidia driver2. 安装 docker3. 安装 nvidia-container-toolkit II. Docker 容器安装配置1. 拉取 ubuntu 22.042. 创建容器3. 进入容器4. 容器中安装 cuda SDK5. 容器中…

基于ELK的日志管理【开发实践】

文章目录 一、ELK简介1.1 ELK的作用与应用1.2 ELK的组成1.3 Elasticsearch1.4 Logstash1.5 Kibana1.6 ELK架构简述1.7 基础知识1.7.1 数据格式1.7.2 正排索引和倒排索引1.7.3 全文搜索 二、ES入门---基于HTTP的使用方式&#xff08;了解&#xff09;2.1 索引操作2.1.1 创建索引…