元对象系统
Qt5元对象系统提供了对象间的通信机制(信号和槽)、运行时类型信息和动态属性系统的支持,是标准C++的一个扩展,它使αt能够更好地实现GUI图形用户界面编程。Qt5的元对象系统不支持C++模板,尽管该模板扩展了标准C++的功能。但是,元对象系统提供了模板无法提供的一些特性。Qt5元对象系统基于以下三个事实。
(1)基类 QObject:任何需要使用元对象系统功能的类必须继承自 QObject
(2) Q_OBJECT宏: Q OBJECT宏必须出现在类的私有声明区中,用于启动元对象的特性。
(3)元对象编译器( Meta-Object Compiler,moc):为 QObject子类实现元对象特性提供必要的代码实现。
布局管理器
在设计较复杂的GUI用户界面时,仅通过指定窗口部件的父子关系以期达到加载和排列窗口部件的方法是行不通的,最好的办法是使用Qt提供的布局管理器。
QGridLayout *mainLayout=new QGridLayout (this); //a
mainLayout->