题
在教程QTestLib,也有提到的文件"testgui.交通部"和"testqstring.交通部"(一个例子可以在这里找到: http://www.englishbreakfastnetwork.org/coverage/build/qt-copy/examples/qtestlib/tutorial3/.moc/debug-shared/testgui.moc).这些包括几条信息需要配置试验。不幸的是,该教程没有解释什么,这个信息,或是如何改变它。具体而言,我指的是这些行:
static const uint qt_meta_data_TestQString[] = {
// content:
2, // revision
0, // classname
0, 0, // classinfo
2, 12, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
// slots: signature, parameters, type, tag, flags
13, 12, 12, 12, 0x08,
28, 12, 12, 12, 0x08,
0 // eod
};
static const char qt_meta_stringdata_TestQString[] = {
"TestQString\0\0toUpper_data()\0toUpper()\0"
};
现在,根据我的了解脱,qt_meta_stringdata_TestQString变量的类参与方法的名称所附的东西--这可能是做过什么线 METHOD(toUpper())
, 但我不确定是否以及如何此相关的任何其他结果的格式。
我想知道,在一般情况下,怎么回事。该评论提供的顶部文件说,它已与"元的目标代码",那么多的似乎是显而易见的基础上的方法,它后来复盖。
然而,更重要的是,我想知道我怎么可以修改,qt_meta_data阵列,以便它将允许我呼吁更多的功能和/或允许我重新名称的功能上的姓名的不同长度(交换方法名称从大写到toApple似乎引起任何问题,但是改变他们toUppercase或toUp两个原因测试应用程序未能按预期运行).
***************************** 更新********************************
已经有一个接受的答案,但我认为我应该添加这样的:唯一的原因,这些文件是在教程在所有的是因为教程提交人决定不具备的。h。cpp文件为他们的课程。他们是否则无用的。
解决方案
你的代码的发布所产生的夸脱的 元对象compiler(商务部) 从你的头文件。你不应该写/更改的文件中自己。只是写您的类的头和运行 moc
上(它们通常是处理建立系统的使用, qmake
将通过默认)。