2012-02-03 72 views
-1

当我读到关于Qt的信号的一些段落&插槽时,他们谈论元数据如下。我怎么才能得到它?如何获取Qt中pushButton的元数据信息?

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 } 
}; 

回答

2

您粘贴的代码是Qt MOC工具的输出。你可以在你的Qt项目的“Generated Files”下找到它。由于它是生成的,你不应该直接修改它。

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

要使用它,只需运行:

moc.exe -o <output_file> <input_file> 

而且该工具会生成包含,你是后元数据的MOC'd头文件。

+0

首先感谢您的回答。但在我的项目文件中有'xx.o'和'xx.exe',没有这个文件。你能给我更多关于它的信息吗? – 2012-02-03 10:36:55

+0

我已经用MOC示例用法更新了答案。我希望这回答了你的问题。 – 2012-02-03 11:39:03

+0

是的,这是我想要的,谢谢.. – 2012-02-03 12:04:30