当我读到关于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 }
};
答案 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头文件,其中包含您所追求的元数据。