qt 学习

头文件中尽量不要导出其他类

可以使用class等前置声明 可以使的更快(头文件会在启动的时候编译)类似这样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class QCheckBox;
class QLabel;
class QLineEdit;
class QPushButton;

class WJDialog : public QDialog
{

private:
QLabel *label;
QLineEdit *lineEdit;
QCheckBox *checkBox;
QPushButton *pushButton;
};

Qt元对象系统

  • Q_OBJECT宏声明了每一个QObject子类中必须试下的一些内省函数:metaObject()、qt_metacall()等
  • Qt的moc工具实现了 Q_OBJECT宏声明中声明函数的实现
  • 像connect()和disconnect()这样的成员函数使用内省函数完成工作