1、QT_BEGIN_NAMESPACE
例如:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
class QAction;
class QMenu;
class QTextEdit;
QT_END_NAMESPACE
在头文件中只用到一些类的指针(而非实现),那么就可以不包含这些类的头文件,而只使用上面形式的类型前置声明,而在具体实现时才包含入上面这些类型的头文件。如此,头文件里所包含的头文件减少了,那么使用到这个头文件的程序就能包含更少的内容,而不是每次都包含很多头文件,解析起来都耗时。
2、namespace
在Qt头文件中很多时候都有这句:
namespace Ui {
class MainWindow;
}