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