2014-03-12 71 views
0

我不在项目中使用moc。采用新的信号/插槽语法,它的工作非常好。但是在派生的Qt类中变得有必要发出信号。有没有办法假发射信号?

有可能不使用moc?

+1

您可以在不MOC创建自己的信号/槽状结构(显然简单的东西,你没有MOC通..)并使用它,但是你想要的。我前一段时间做了,它工作得很好 –

+1

相关:http://woboq.com/blog/reflection-in-cpp-and-qt-moc.html – jaho

+0

你不使用moc的原因是什么? –

回答

2

不,这是不可能的。

moc实际上实现了信号功能。如果您通过查看生成的moc_myclass.cpp来查看生成的信号函数,您会发现信号函数只不过是对QMetaObject::activate的调用,而该函数需要一个指向信号发送器的QMetaObject的指针。由于没有运行moc,所以不会生成元对象,您甚至不能手动调用QMetaObject::activate

+0

谢谢。我将更详细地研究这种方法。 – kaa