2014-03-12 70 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