# define QT_END_NAMESPACE } 也就是说,如果你定义以下内容: QT_BEGIN_NAMESPACEclassQAction;classQMenu;classQPlainTextEdit; QT_END_NAMESPACE 那么,在编译时就会变成这样: namespaceQT_NAMESPACE {classQAction;classQMenu;classQPlainTextEdit; } QT_NAMESPACE是Qt自己定义的命名空间。 原文链接: http:/...
QT_BEGIN_NAMESPACE class QAction; class QCheckBox; class QComboBox; class QGroupBox; class QLabel; class QLineEdit; class QMenu; class QPushButton; class QSpinBox; class QTextEdit; QT_END_NAMESPACE //code end class QAction; class QCheckBox; ... 是因为在头文件里面只有这些类的指针申明,并没...
而在不带命名空间的 Qt 中被处理为class QLabel;,而在绝大多数的情况下,我们获得的 Qt 预编译版本都是默认不带命名空间的,所以宏QT_BEGIN_NAMESPACE 和 QT_END_NAMESPACE 往往可以将它们无视掉。
QT_BEGIN_NAMESPACE class QAction; class QMenu; class QPlainTextEdit; QT_END_NAMESPACE 在编译时就会变成这样: namespace QT_NAMESPACE { class QAction; class QMenu; class QPlainTextEdit; } QT_NAMESPACE是Qt自己定义的命名空间。这样可以在用户自己定义的命名空间中编译整个Qt程序。 目前有些旧编译...
在Qt中,我们经常会看到 QT_BEGIN_NAMESPACE class QAction; class QMenu; class QPlainTextEdit; QT_END_NAMESPACE 这样的方式表达方式!这样做有什么意义呢? 只要深入最终这个宏就知道了。嘻嘻 在qglobal.h中我们可以看到这样的定义 # define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE { ...
1namespaceQT_NAMESPACE {2classQPainter;3classQPaintEvent;4} 实际上相当于: 1QT_BEGIN_NAMESPACE2classQPainter;3classQPaintEvent;4QT_END_NAMESPACE 这样可以在用户自己定义的命名空间中编译整个Qt程序。 如果我们在头文件中只是使用类的指针声明,而不需要真正将其实例化,那么我们就没有必要#include相应的头文...