QT学习笔记(1)-Hello World

本篇文章是阅读大佬的小豆老师的文章所做的一些笔记而已,大家如果需要看比较系统性的QT,还是应该去看原作者的文章,讲的更加的系统。最后感谢原作者的奉献,而且,他的每篇文章下面的评论及回复,也都会让你受益匪浅的。

目录

  • QT安装
  • QT简介
  • QT:Hello, world!

QT安装

我所使用的是QT 5.12,所以安装也是安装这个版本,基本参照这个:QT5安装。注意,里面的组件安装可以参考我的:QT学习笔记(1)-Hello World_第1张图片
其他就直接参考上面的。

QT简介

  1. Qt 是一个著名的 C++ 应用程序框架。
  2. API 映射:API 映射是说,界面库使用同一套 API,将其映射到不同的底层平台上面。不过,这就会出现当Windows和OS环境差异中的功能差异之时,很多功能无法直接映射。
  3. API 模拟:前面提到,API 映射会“缺失”不同平台的特定功能,而 API 模拟则是解决这一问题。使用工具库中自己的代码用于模拟出来。API 模拟的典型代表是 wine —— 一个 Linux 上面的 Windows 模拟器。微软提供的 DirectX,这个开发库将屏蔽掉不同显卡硬件所提供的具体功能。
  4. GUI 模拟:任何平台都提供了图形绘制函数,例如画点、画线、画面等。有些工具库利用这些基本函数,在不同绘制出自己的组件,这就是 GUI 模拟。
  5. Swing是一个用于开发Java应用程序用户界面的开发工具包。
  6. wxwidgets是一个 c++编写的用来提供gui开发的框架。它包含一个可以支持现今几乎所有操作系统的GUI库和其他一些很有用的工具,提供了类似MFC的功能。与jaca的不同点,java的跨平台是建立在“中间代码”的基础上的,就是说需要在目标平台上安装java解释器;但是wxwidgets是c++库,经过编译后,他提供的是native级的机器码,在gui编程方面,这可是意味着很大的不同。免费的!支持的操作系统很全面!
  7. 信号(Signal)与槽(Slot)-Qtsignal/slot:是Qt对象以及其派生类对象之间的一种高效通信接口,它是Qt的核心特性,能为高层次的事件处理自动生成所需要的附加代码。信号signal和槽Slot是用来在对象间通讯的方法:当一个特定事件发生的时候,signal会被emit出来,slot调用是用来响应相应的signal的。当一个对象的状态发生变化的时候,信号就可以被emit出来。Signal 代码会由 moc自动生成,开发人员一定不能在自己的C++代码中实现它,并且它永远都不能有返回值。Slot其实就是一个普通的类函数,并且可以被直接调用,唯一特殊的地方是它可以与signal相链接。

QT:Hello, world!

  1. 按照这个去弄:网址
    可能会出现这个错误:Qt显示无法打开包含文件"stddef.h"
    解决方法为:在创建项目的过程中,会有这个过程
    QT学习笔记(1)-Hello World_第2张图片
    尽量选择MinGW吧!若选择MSVC2017的话,很会出现上面的问题,因为你不知道你的VS已经有什么问题了。我的就是。

  2. label 是在堆上面创建的,堆上面创建的变量都要手动释放的。所以,上面Hello World的代码在用到label的时候就要注意了。

  3. 成功运行:
    QT学习笔记(1)-Hello World_第3张图片

你可能感兴趣的:(QT,QT)