如何在Qt中获取pushButton的元数据信息?

时间:2012-02-03 03:59:45

标签: qt

当我读到关于Qt's Signals& amp;插槽,他们谈论元数据如下。我怎么能得到它?

static const uint qt_meta_data_QPushButton[] = {

 // content:
       1,       // revision
       0,       // classname
       0,    0, // classinfo
       2,   10, // methods
       3,   20, // properties
       0,    0, // enums/sets

 // slots: signature, parameters, type, tag, flags
      13,   12,   12,   12, 0x0a,
      24,   12,   12,   12, 0x08,

 // properties: name, type, flags
      44,   39, 0x01095103,
      56,   39, 0x01095103,
      64,   39, 0x01095103,

       0        // eod
};

static const char qt_meta_stringdata_QPushButton[] = {
    "QPushButton/0/0showMenu()/0popupPressed()/0bool/0autoDefault/0default/0"
    "flat/0"
};

const QMetaObject QPushButton::staticMetaObject = {
    { &QAbstractButton::staticMetaObject, qt_meta_stringdata_QPushButton,
      qt_meta_data_QPushButton, 0 }
};

1 个答案:

答案 0 :(得分:2)

您粘贴的代码是Qt MOC工具的输出。您将在Qt项目的“生成的文件”下找到它。因为它是生成的,所以你不应该直接修改它。

MOC是Qt的元对象编译器,记录在案here。它位于Qt安装的 bin 目录中(可能是 C:\ Qt \ 4.6.2 \ bin \ moc.exe )。

使用它只需运行:

moc.exe -o <output_file> <input_file>

该工具将生成MOC头文件,其中包含您所追求的元数据。