在Qt(4.6)中,可以直接调用插槽吗?

Dan*_*iel 18 c++ qt

我发现自己需要直接拨打电话.只要它在您的设计中有意义,我认为这样做非常好.你怎么看?

谢谢

lia*_*iaK 38

是..插槽只是普通功能,您可以直接调用它们 ..

来自docs,

当发射连接到它的信号时,调用一个槽.插槽是普通的C++函数,可以正常调用 ; 它们唯一的特点是信号可以连接到它们.

  • 问题是多线程.如果你直接调用一个插槽,那么执行的线程可能与你使用connect()的执行不同(如果插槽的对象之前被移动到另一个线程).另见http://stackoverflow.com/questions/1144240/qt-how-to-call-slot-from-custom-c-code-running-in-a-different-thread (7认同)
  • 这就是我喜欢好文档的原因:明确而简单. (4认同)