Skip to content

Latest commit

 

History

History
37 lines (19 loc) · 1.09 KB

15、Qt 三大核心机制.md

File metadata and controls

37 lines (19 loc) · 1.09 KB

15、Qt 三大核心机制

信号槽

信号槽的五种连接方式(图略)

connect(信号发出者,信号,信号接收者,槽,连接方式(隐藏默认自动连接))//五个参数

元对象系统

元对象系统分为三大类:QObject类、Q_OBJECT宏和元对象编译器moc

Qt的类包含Q_OBJECT宏 moc编译器会对该类编译成标准的C++代码

事件模型

事件的创建

鼠标事件,键盘事件,窗口调整事件,模拟事件

事件的交付

Qt通过调用虚函数QObject::event()来交付事件。

事件循环模型

主事件循环通过调用QCoreApplication::exec()启动,

随着QCoreApplication::exit()结束,

本地的事件循环可用利用QEventLoop构建。

一般来说,事件是由触发当前的窗口系统产生的,但也可以通过使用 QCoreApplication::sendEvent()和

QCoreApplication::postEvent()来手工产生事件。需要说明的是QCoreApplication::sendEvent()会立即发送事件, QCoreApplication::postEvent()则会将事件放在事件队列中分发。

自定义事件