一、QT的前世今

news2024/9/20 1:08:07

一、Qt是什么

  1、Qt 是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务。

  2、Qt是面向对象的框架,具有面向对象语言的特性:封装、继承、多态。

  3、2008年,奇趣科技被诺基亚公司收购,当时诺基亚手机上的很多应用都是用QT开发的。我也是从那一年才知道的Qt。

  4、2014年4月,跨平台集成开发环境Qt Creator 3.1.0正式发布,实现了对于iOS的完全支持,实现了全面支持iOS、Android、Windows、Linux。使得QT开发的程序可以遍布桌面、手机、嵌入式等各种不同的设备上。

二、Qt和Qt Creator

Qt是基于C++语言写的用于Qt开发的Q打头的类库集合,或者说是开发框架,里面集成了一些库函数,提高开发效率。

Qt Creator是用Qt开发的IDE,是开发环境,也可以叫开发工具,类似的像VS、VSCode、Pycharm,也可以进行Qt开发,当然VS中的Qt是作为一个插件集成到VS平台的。

三、Qt的特点

  1、基于 C++ 的一种语言扩展(Extention)

    Qt 的类都是用 C++ 写出来的。这也就是说, Qt 本身已经继承了C++的快速、简易、面向对象等许多的优点。并且封装成好多的库类供使用,不用担心底层的跨平台兼容性问题。如我们最常用的serialport, file, I/O device, date/time,socket等。

  2、可移植性

    Qt不只是可以在 Linux 中运行,也同样可以运行在 Windows 、Mac OS X等多种不同的平台中。包括现在大放光彩的国产操作系统上,如中标麒麟的龙芯,统信UOS等。

  3、高效

    Qt运行时无需依赖“虚拟机”,可直接操作内存,因而使用Qt开发的应用程序运行速度快。Qt管理好内存,比Java\C#等占用的内存空间更小。所以Qt在比如音视频播放器、视频监控软件、工业控制软件、嵌入式软件、汽车车机方面是最好的选择。像我们市面上常见的摄像头-海康威视,他的桌面端管理软件就是Qt开发的。现在好多汽车制造商的车机系统也都是用Qt在做。

  4、国产化

        Qt在国产化方面是重中之重,军工、汽车、工业控制、大型医疗设备等,尤其是军工方面,随着我国军工国产化的逐渐推进,Qt必将会在此领域大放光彩,比如WPS是Qt开发的,已经占领国产操作系统领域大部分市场了。

四、Qt的缺点

1、Qt和UI布局设计真的很麻烦,不像delphi、C# winform或WPF,支持到控件级的上下左右布局,Qt的UI布局需要将容器先搭建好,再往容器中放控件(类似于先把衣柜打好,再往里放衣服),并且栅格化后,再加控件还需要打破现有布局格式才可以,总之很容易将界面弄乱。

2、Qt的控件效果设置也很不友好,有很多效果需要自己写qss样式来实现,但我觉得有利有弊,优点是灵活扩展多样化,缺点是自己会多写很多代码,并且要不断的尝试写完的qss是什么样的效果,达没达到要求。其实qss是个好东西,类似于web技术栈中的css,在以往的工作中,我发现好多重复的qss写法,希望大家以后在写程序时注意不要重复的写css样式,在最上层的容器中通过类,名称等可以控制全部或某一个控件的样式。

3、Qt原生的控件功能也不太完善,也不太漂亮,第三方的控件也比较少,所以做出来的东西要想漂亮,在UI上要花长时间来设计。但是你想在嵌入式、国产化、跨平台领域开发软件,也没有更好的工具了,首先还是Qt。

4、Qt的使用场景大多还是桌面端应用程序开发,有一定的局限性。

五、Qt的编译器-MinGW

1、Qt的安装程序主要分为windows、linux、mac的版本,分别在不同的平台运行。

2、Qt5.9以前的版本,windows版本又细分了一些版本,包括MinGW和MSVC。其中 MSVC 用的是 VS 编译器,同时还需要安装一些Visual C++的库,如果你的电脑中没有安装VS那就不要安装这个版本了,否则使用时编译器会有错误,编译程序会通不过。

3、Qt5.9以后的版本,把以前版本中的一些细分都集成到一个安装包中,可以看到安装包从以前的1.2G变为了2.3G。而具体的细分就放到了安装时自选了,比如之前的MinGW和MSVC等不同版本就可以在安装时选择,而windows版本就都集成到 qt-opensource-windows-x86-XXX 中。

4、windows系统下最常用编译器是MinGW 32位的。

《写在最前边》icon-default.png?t=N7T8https://blog.csdn.net/zhouhui1982/article/details/135550465

《一、QT的前世今生》icon-default.png?t=N7T8https://blog.csdn.net/zhouhui1982/article/details/135550566

《二、QT下载、安装及问题解决(windows系统)》icon-default.png?t=N7T8https://blog.csdn.net/zhouhui1982/article/details/135550949

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

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

相关文章

电子学会2023年12月青少年软件编程(图形化)等级考试试卷(三级)真题,含答案解析

青少年软件编程(图形化)等级考试试卷(三级) 分数:100 题数:31 一、单选题(共18题,共50分) 1. 运行左图程序,想得到右图中的效果,红色框应填写的数值是?( ) A.

vmware和ubuntu镜像下载地址

这里有vmware16和ubuntu20.0下载 链接:https://pan.baidu.com/s/1i9IC-KnJlrVDbl6SJ5SIKQ?pwdy2dd 提取码:y2dd 链接:https://pan.baidu.com/s/1imqJVD2dLE1TB6jIrq1-Fg?pwd690f 提取码:690f 这个是我本人下的vmware17 密钥可…

超声波眼镜清洗机清洗眼镜会有伤害吗?适合洗眼镜超声波清洗机

眼镜作为日常生活中不可或缺的辅助视力工具,经常需要清洁保养以确保视力清晰和舒适佩戴。随着科技的发展,超声波眼镜清洗机成为越来越受欢迎的清洁方式。然而,很多人可能会担心使用超声波清洗机是否会对眼镜造成损害。但是可以很可以的告诉大…

Vulnhub-Lampiao

一、信息收集 nmap扫描 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.7 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 1024 46:b1:99:60:7d:81:69:3c:ae:1f:c7:ff:c3:66:e3:10 (DSA) | 2048 f3:e8:88:f2:2d:d0:b2:54:0b:…

Xtuner大模型微调

Xtuner大模型微调 一、课程笔记 文档链接:https://github.com/InternLM/tutorial/blob/main/xtuner/README.md 视频链接: https://www.bilibili.com/video/BV1yK4y1B75J/ 大模型微调 大模型的训练利用了各类数据,可以说是一个通才&#xff…

基于Matlab/Simulink开发自动驾驶的解决方案

文章目录 处理自动驾驶数据 仿真自动驾驶场景 设计感知算法 设计规划和控制算法 生成代码和部署算法 集成和测试 参考文献 使用 MATLAB/Simulink开发自动驾驶,能够深入建模真实世界的行为、减少车辆测试并验证嵌入式软件的功能,从而推进自动驾驶感…

宝塔面板使用phpMyAdmin 502 Bad Gateway

第一步软件商店安装PHP 第二步设置phpMyAdmin,选择PHP版本 – 解决

【软件测试】学习笔记-不同视角的软件性能与性能指标

本篇文章探讨新的测试主题:性能测试,因为性能测试的专业性很强,所以我会以从0到1的入门者视角,系统性地阐述性能测试的方法以及应用领域,用实例去诠释各种性能指标。 本篇文章站在全局的视角,帮你梳理软件性…

漏洞复现-nginxWebUI runCmd前台远程命令执行漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

【AIGC】Controlnet:基于扩散模型的文生图的可控性

前言 controlnet可以让stable diffusion的生图变得可控。 文章连接:https://arxiv.org/pdf/2302.05543.pdf 摘要 冻结了stable diffusion的预训练模型并重用它的预训练编码层神经网络结构与零初始化卷积层连接,从零开始逐渐增加参数,并确…

C练习——汉诺塔

题目: 汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。 大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆…

extern static 在linux 和 qt下差别

从五个点来说 1.p3.h 中 静态定义一个const的int 变量并且赋值 2.p5.h 声明函数test2的定义 3. 直接extern 引用声明 test1() 函数 而不是像p5.h一样 把函数声明写到头文件 在别的.c文件直接包含头文件 第二点和第三点 是引用声明函数的两种用法 4.main函数 中static静态定…

GCC工具源码编译

文章目录 背景一、下载源码二、编译前依赖准备2.1 相关工具依赖2.2 相关lib(gmp/ mpfr /mpc)依赖2.2.1 lib源码下载2.2.2 lib源码编译 三、编译GCC3.1 编译3.2 链接 四、报错处理 背景 日常可能涉及到系统里自带GCC版本与被编译源码存在不兼容&#xff…

64位ATT汇编语言整数乘法printf输出

multiplyWithPrint.s里边的内容如下 .section .datastringToShow:.ascii "%d\n\0" .global main .section .text main:movq $4,%raxmovq $2,%rdi# mulq 默认带上rax进行乘积,可以省略rax中的乘数,最后积会放到rax里边。mulq %rdi# C语言的pri…

解决MPICH的GPU初始化失败:一次深入探索

今天来分享“MPICH:MPII_Init_thread(222): gpu_init failed”这个问题的解决方式 文章目录 前言问题原因解决方案 前言 如果在安装MPICH的时候没有注意要一些选项,那么当使用mpicxx mpi_send.cpp -o send && mpirun -n 2 ./send进行编译输出的…

如何调整 Windows 11 任务栏位置、对齐方式,及自定义任务栏

更新于:2023-11-22 分类:Windows 阅读(115407) 评论(12) 如果你是 Windows 11 用户中的一员,一定在不断尝试它的新功能。Windows 11 操作系统采用了全新设计的外观,具有重新设计的 Windows 资源管理器、圆润的窗口边缘和默认将应用…

管理软件供应链中网络安全工具蔓延的三种方法

软件开发组织不断发展,团队成长,项目数量增加。技术堆栈发生变化,技术和管理决策变得更加分散。 在这一演变过程中,该组织的 AppSec 工具组合也在不断增长。在动态组织中,这可能会导致“工具蔓延”。庞大的 AppSec 工…

设计模式 代理模式(静态代理 动态代理) 与 Spring Aop源码分析 具体是如何创建Aop代理的

代理模式 代理模式是一种结构型设计模式,它通过创建一个代理对象来控制对真实对象的访问。这种模式可以用于提供额外的功能操作,或者扩展目标对象的功能。 在代理模式中,代理对象与真实对象实现相同的接口,以便在任何地方都可以使…

爬虫补环境jsdom、proxy、Selenium案例:某条

声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关 一、简介 爬虫逆向补环境的目的是为了模拟正常用户的行为,使爬虫看起来更像是一个真实的用户在浏览网站。这样可以…

OceanBase 4.2特性解读:Show Trace全链路跟踪,助力快速问题定位与精准诊断

在分布式数据库环境下,慢 SQL 诊断是运维人员面临的一大挑战。在无法及时发现问题根本原因的情况下,可能会严重影响用户体验,甚至会导致业务服务不可用。相对于单机数据库,分布式数据库系统涉及多个节点、多组件的协同工作&#x…