当前位置: 首页 > news >正文

Qt的学习(一)

1.什么是Qt        

Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。

        客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格:

        1.命令行界面/终端界面(黑框框)   -->TUI          (gcc, gdb专业软件(给程序用的))
        2.图形化界面-> GUI(普通用户用的)
        综上所述,Qt用来编写桌面的GUI程序的一套框架。在Windows编写GUI程序,也是有很多种的解决方案的,Qt只是其中的一种。

   Windows 下还有哪些方案可以开发GUI?
   1.WindowsAPI   windows系统提供原生API
      开发起来非常原始 也非常繁项
   2.MFC 当年(上个世纪90年代)影响力非常深远的~
   3.Qt(1991年左右)诞生了( 和MFC不同,MFC早都已经不更新了,寄了),Qt仍然在不停的推陈出新,更新新的版本,至今仍然非常有生命力。Qt是基于C/C++搭建出来的一些GUI开发的技术体系,后来微软,自己搞了一个编程语言C#(Csharp)
   4WindowsForms给C#(net)量身定做的一套开发GUI技术体系~
5.WPF
6.UWP
7.Electron  本质上是把基于HTML这样的网页,打包成一个windows上运行的客户端程序~这个技术体系,最初是用来开发atom”文本编辑器的~~ Github开发的~
后来atom就寄了~~(被微软搞的VSCode给干肌)
比较大的缺点,开发出来的程序,运行效率,低于上面介绍的一些原生开发的技术体系的

        Qt虽然只是上述解决方案中的其中一个,仍然属于是其中非常能打的(商业公司的产品,使用Qt非常多的,对应的就业岗位相比于其他的技术方案也是更多的)。

        Qt优势,能够跨平台,不仅仅支持Windows,也支持Linux,还支持Mac。

Qt是一个跨平台的C++图形用户界面应用程序框架
        所谓框架,本质上是一群大佬发明出来的,让普通的程序员写出来的代码也比较靠谱。
        库和框架,都是属于大佬把一些代码写好了,让你去使用。
        库,是被程序员调用的.(程序员是主体)
        框架,则是占主体~~程序员配合框架,完善填充框架中留出的一些细节

1.1 Qt⽀持的平台

        嵌入式系统,也是Qt实际开发中的一个主战场。日常使用的,冰箱,洗衣机,路由器,投影仪......这些设备内部也有计算机,这种设备里面的计算机,硬件配置就不需要很高了。低配置,低成本。
        有些嵌入式系统,也是需要运行图形化界面的程序的,这个时候,Qt就可以起到作用了.尤其是在一些工业设备上当然,这个领域中,Qt也收到了安卓的挑战。

1.2 1.5Qt的优点
          跨平台,几乎支持所有的平台;
          接口简单,容易上手,学习QT框架对学习其他框架有参考意义。
          一定程度上简化了内存回收机制  半自动的垃圾回收,能够简化内存释放,也能够尽可能小的影响程序的运行效率。
        开发效率高,能够快速的构建应用程序。
        有很好的社区氛围,市场份额在缓慢上升。
        可以进行嵌入式开发。

2. Qt开发环境

Qt开发环境,需要安装三个部分:

2.1 Qt的下载与安装

qt:5.14版本;

账号1533722647@qq.com

zS@7945685213

 是Qt SDK中内置的c++编译器,就是一个windows版本的gcc/g++;

下载安装完成之后,配置环境变量。

 Linux也有一个环境变量,叫做PATH,输入的命令,就会去PATH下对应的目录中查找对应的程序。我们此处需要把Qt SDK中的某个目录加入到Path环境变量中,要添加的目录,是这个包含了一大堆动态库和exe的目录。

为啥要配置这个环境变量:
1)让操作系统/QtCreator工具,能够找到QtSDK中提供的exe

2)也是运行Qt程序的时候,能够找到对应.dll动态库~
环境变量,也可以理解成一种简单的“进程间通信”机制

2.2 使用qt creater创建一个qt项目

 2.3 qt项目创建并运行

 2.4 代码解读

        Linux中的exec.  底层是进程程序替换,即把可执行文件中的代码和数据,替换到当前进程中
                                                                                                                                                       (夺舍)。当前Qt中的exec和Linux中的exec没有任何关系,只是名字恰好是一样的。

2.5 头文件

#ifndef WIDGET_H
#define WIDGET_H
//header guard ,保证头文件只包含一次#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private:Ui::Widget *ui;
};
#endif // WIDGET_H

 

        Qt中使用xml文件就是去描述程序的界面是啥样的,进一步的qmake会调用相关的工具,依据这个xml文件生成一些C++代码,从而把完整的界面构造出来 

 

 本文就到这里,谢谢观看!

相关文章:

  • VNA校准基础知识
  • 行为型设计模式之Interpreter(解释器)
  • Global Security Market知识点总结:主经纪商业务
  • Lodash原型污染漏洞原理详解
  • HttpURLConnection实现
  • 【商城saas和商城源码的区别】
  • Ubuntu 下开机自动执行命令的方法
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(三十一) -> 同步云端代码至DevEco Studio工程
  • 影响特性阻抗的因素-信号与电源完整性分析
  • C++学习-入门到精通【16】自定义模板的介绍
  • 亚川科技IBMS集成管理平台:构建商业综合体智慧中枢
  • 【小红书拥抱开源】小红书开源大规模混合专家模型——dots.llm1
  • 比较数据迁移后MySQL数据库和ClickHouse数据仓库中的表
  • BERT, GPT, Transformer之间的关系
  • 北大开源音频编辑模型PlayDiffusion,可实现音频局部编辑,比传统 AR 模型的效率高出 50 倍!
  • 内存泄漏检测工具-学习(一)
  • Ctrl-Crash 助力交通安全:可控生成逼真车祸视频,防患于未然
  • 9.进程间通信
  • 死锁的四个必要条件
  • 使用ORM Bee (ormbee) ,如何利用SQLAlchemy的模型生成数据库表.
  • 凡科做的网站/优化的含义
  • 济宁网站网站建设/搜索引擎推广实训
  • 江苏省建设厅网站证件查询/河北百度seo
  • 遵义公司做网站找哪个公司好/谷歌推广效果怎么样
  • 建设网站总经理讲话范本/谷歌站长平台
  • 建设厅网站如何查询企业信息网/微信营销推广