一、QT的前世今

一、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位的。

《写在最前边》

《一、QT的前世今生》

《二、QT下载、安装及问题解决(windows系统)》


《三、Qt Creator使用》 ​​​

​​​​​​​《四、Qt 的第一个demo-CSDN博客》

《五、带登录窗体的demo》

《六、新建窗体时,几种窗体的区别》 

《七、Qt 信号和槽》 ​​​​​​​

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

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

相关文章

Unity2022.3打包Android后从AB包加载场景发现丢失大量脚本问题

问题 这两天遇到一个问题,在VR项目打包Android的时候,加载场景后,Timeline工作不正常,找不到原因。 现象 看到有很多警告,丢失脚本的Log。 因为场景本身也有一些丢失的脚本所以没在意,但是又不是所有脚本…

6.3、SDN在云计算中的应用

目录 一、SDN概念 1.1、传统网络机制 1.2、SDN网络机制 1.3、二者区别 1.4、SDN架构 二、云数据中心 2.1、公有云环境特点 2.2、两大挑战 2.3、云数据中心引入SDN技术解决两大挑战 三、SDN云计算解决方案 3.1、SDN云计算解决方案之控制平面openflow协议 3.1.…

Android studio调试

Android Studio连接手机详细教程(包含遇到的问题集)_android studio 连接手机-CSDN博客 可以创建虚拟机或直连真机或直连模拟器。 无法打开本地终端 Android studio Failed to start [powershell.exe] 利用Android studio的adb命令删除app应用 - 简书 利用ADB工具免root停用A…

深入理解 go chan

go 里面,在实际程序运行的过程中,往往会有很多协程在执行,通过启动多个协程的方式,我们可以更高效地利用系统资源。 而不同协程之间往往需要进行通信,不同于以往多线程程序的那种通信方式,在 go 里面是通过…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-2 常用表单控件

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>常用表单控件</title> <style> form {width: 260px;margin: 0 auto;border: 1px solid #ccc;padding: 20px; } .right {float: right; } </style&g…

Windows系统搭建WebDAV服务并结合内网穿透实现公网访问本地文件

文章目录 前言1. 安装IIS必要WebDav组件2. 客户端测试3. 使用cpolar内网穿透&#xff0c;将WebDav服务暴露在公网3.1 安装cpolar内网穿透3.2 配置WebDav公网访问地址 4. 映射本地盘符访问 前言 在Windows上如何搭建WebDav&#xff0c;并且结合cpolar的内网穿透工具实现在公网访…

阿尔泰科技——PXIe8912/8914/8916高速数据采集卡

阿尔泰科技PXIe8912/8914/8916高速数据采集卡是2通道同步采样数字化仪&#xff0c;专为输入信号高达 100M 的高频和高动态范围的信号而设计。 与Labview无缝连接&#xff0c;提供图形化API函数。模拟输入范围可以通过软件编程设置为1V 或者5V。配备了容量高达 2GB的板载内存。…

亚马逊实时 AI 编程助手 CodeWhisperer使用体验

文章目录 1&#xff1a;什么是CodeWhisperer &#xff1f;2&#xff1a;试用3&#xff1a;上手体验 1&#xff1a;什么是CodeWhisperer &#xff1f; 最近ChatGPT展现出强大AI能力给我们带来了深刻的影响&#xff0c;AI现在不是一个概念&#xff0c;基于AI的产品一定在各行各业…

Elasticsearch 地理空间搜索 - 远超 OpenSearch

作者&#xff1a;来自 Elastic Nathan_Reese 2021 年&#xff0c;OpenSearch 和 OpenSearch Dashboards 开始作为 Elasticsearch 和 Kibana 的分支。 尽管 OpenSearch 和 OpenSearch Dashboards 具有相似的血统&#xff0c;但它们不提供相同的功能。 在分叉时&#xff0c;只能克…

喜好儿AI周报Weekly(第9期)CES2024 AI产业大爆发 | Rabbit R1 | 3D-Fauna | OLED屏幕 | Genie | MagicVideoV2 | Magnific

各位观众朋友们大家好&#xff01;我是被老板派去出差逛CES2024 拉斯维加斯消费电子展差点迷路回不来的阿喜。一起去看看这一周有什么新鲜事吧。 本期导读&#xff1a; 逛逛CES 2024消费电子展Rabbit R1人工智能设备三星AI机器人BallieLG无线透明OLED屏幕Portalgraph VR空间投…

jmeter和meterSphere如何使用第三方jar包

引用jar包语言使用的都是beanshell 问题起因&#xff1a;metersphere 接口自动化实现过程中&#xff0c;如何实现字符串加密且加密方法依赖第三方库&#xff1b; 使用语言&#xff1a;beanshell脚本语言&#xff0c;java语言 使用工具&#xff1a;idea jmeter metersphere 1.…

如何分析测试任务及需求(附分析流程)

测试分析 确认测试范围 根据测试项目的不同需求&#xff0c;有大致几类测试项目类型&#xff1a;商户/平台功能测试、支付方式接入测试、架构调整类测试、后台优化测试、性能测试、基本功能自动化测试。 测试项目需要按照文档要求进行测试需求分析&#xff0c;并给出对应的输出…

【论文阅读 CIDR17】Self-Driving Database Management Systems

Self-Driving Database Management Systems MySummary ABSTRACT 之前的advisory tools来帮助DBA处理系统调优和物理设计的各个方面&#xff0c;都仍然需要人类对数据库的任何更改做出最终决定&#xff0c;并且是在问题发生后修复问题的反动措施reactionary measures 。 An …

Linux进程【2】进程地址空间(+页表详解哦)

fork 引言&#xff08;程序地址空间&#xff09;进程地址空间进程地址空间mm_struct 虚拟地址到物理地址的转化总结 引言&#xff08;程序地址空间&#xff09; 在之前的学习过程中&#xff0c;我们认识了内存与地址&#xff0c;并且了解了在程序地址空间中的基本分区&#xf…

three.js 使用 tweenjs绘制相机运动动画

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div><div class"box-right"…

SpringBoot默认配置文件

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 循序渐进学SpringBoot ✨特色专栏: MySQL学习 🥭本文内容:SpringBoot默认配置文件 📚个人知识库: Leo知识库,欢迎大家访问 1.前言☕…

离线安装jenkins:使用rpm安装包

目录 一、安装jdk1.8二、安装yum软件包三、下载rmp安装包四、安装jenkins的rpm安装包五、创建jenkins文件目录六、设置环境变量七、配置jdk位置八、配置Jenkins配置文件九、启动Jenkins十、访问Jenkins十一、安装Jenkins插件十二、解释jenkins目录十三、删除jenkins十四、结合m…

Android perfetto memory开源工具分析

目录 原理 官网链接 下载heap_profile producer_support.cc 本地编译 push heapprofd 工具使用 pb文件获取 打开*.pb文件 trace文件 提高系统CPU性能 拆解特定函数内存占用 环境配置 工具使用 修改heap_profile 脚本 原理 Android perfetto memory分析工具和ma…

Java项目:117SpringBoot动漫论坛网站

博主主页&#xff1a;Java旅途 简介&#xff1a;分享计算机知识、学习路线、系统源码及教程 文末获取源码 117SpringBoot动漫论坛网站 一、项目介绍 动漫论坛网站是由SpringBootMybatis开发的&#xff0c;旅游网站分为前台和后台&#xff0c;前台为用户浏览&#xff0c;后台进…

计算机组成原理之计算机的性能指标和数制与编码

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…