代码之家  ›  专栏  ›  技术社区  ›  AaronD

跟随发射的信号到其连接的插槽?

  •  1
  • AaronD  · 技术社区  · 8 年前

    我知道Qt信号被放入事件队列,然后在事件循环看到它时调用连接的插槽。因此,在调试时“介入”它是没有意义的。但我真的很想看到,在一个足够大的应用程序中,我不能一次记住所有的东西,控制流在哪里结束。

    那么,有没有一种方法可以找到连接到信号的插槽,或者潜在地基于 connect(...); 还是在调试的时候?


    在Qt Creator 3.5.1中(基于Qt 5.5.1(GCC 5.2.1 20151129,64位)):

    1. Ctrl+Shift+U (查找用法)仅返回 emit signal(); 在源和 void signal();
      • 如果它也能回来,那就太好了 connect(..., SIGNAL(signal()), ..., SLOT(slot())); 这样我就可以 F2 (转到定义)on slot() 然后放一个 breakpoint 在它里面。
    2. 纯文本搜索返回一组在其他类中具有相同名称的不相关信号,因此这也没有真正的帮助。
    1 回复  |  直到 8 年前
        1
  •  1
  •   Farhad    8 年前

    您可以使用 New Signal Slot Syntax :

    connect(sender, &Sender::valueChanged,receiver, &Receiver::updateValue);
    

    通过此连接,您可以找到用法,Qt将找到连接线。

    sample code image