Qt 5中的宏“ QT_BEGIN_NAMESPACE”是什么意思?

big*_* yu 2 c++ macros qt

在Qt 5.6示例“ basicLayout”中,有一个宏“ QT_BEGIN_NAMESPACE”,我尝试在Qt文档中进行搜索,但仍然无法获得答案。那么Qt的含义是什么?

相关的代码在这里:

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>

QT_BEGIN_NAMESPACE
class QAction;
class QDialogButtonBox;
class QGroupBox;
class QLabel;
class QLineEdit;
class QMenu;
class QMenuBar;
class QPushButton;
class QTextEdit;
QT_END_NAMESPACE

//! [0]
class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog();

private:
    void createMenu();
    void createHorizontalGroupBox();
    void createGridGroupBox();
    void createFormGroupBox();

    enum { NumGridRows = 3, NumButtons = 4 };

    QMenuBar *menuBar;
    QGroupBox *horizontalGroupBox;
    QGroupBox *gridGroupBox;
    QGroupBox *formGroupBox;
    QTextEdit *smallEditor;
    QTextEdit *bigEditor;
    QLabel *labels[NumGridRows];
    QLineEdit *lineEdits[NumGridRows];
    QPushButton *buttons[NumButtons];
    QDialogButtonBox *buttonBox;

    QMenu *fileMenu;
    QAction *exitAction;
};
//! [0]

#endif // DIALOG_H
Run Code Online (Sandbox Code Playgroud)

Aur*_*ien 6

如果要在特定名称空间中构建Qt,可以重新定义这些宏。

这在非常特殊的情况下很有用,例如,如果您想将所有Qt的定义包含在“ ExternalFramework :: Qt :: Version5”命名空间中。

99.99%的时间中,您不需要更改默认值,该值为空白。(无名称空间)