有没有办法伪造发射信号?

时间:2014-03-12 20:32:42

标签: qt

我不在项目中使用moc。使用新的信号/插槽语法,它可以很好地工作。但是必须在派生的Qt类中发出信号。

可以不使用moc吗?

2 个答案:

答案 0 :(得分:2)

不,这是不可能的。

moc实际上实现了信号功能。如果通过查看生成的moc_myclass.cpp来查看生成的信号函数,您将看到信号函数只不过是对QMetaObject::activate的调用,并且该函数需要指向{{的指针。 1}}信号发送者。由于没有运行moc,因此不会生成元对象,您甚至无法手动调用QMetaObject

答案 1 :(得分:2)

目前关于moc的确有一个非常好的血统:

http://woboq.com/blog/reflection-in-cpp-and-qt-moc.html