Qt - 发射时隙而不是信号

lie*_*ewl 6 qt signals-slots

假设我有一个QPushButton小部件,它通过clicked()信号连接到一个插槽.第一个插槽依次通过emit关键字调用另一个插槽.第二个插槽从第一个插槽中获取参数并对其执行某些操作.它起作用了,但根据我对信号槽图案的理解,发出信号才有意义.发射插槽而不是信号是错误的吗?

ere*_*der 9

如果你看一下emit的定义,你会发现它是空的.emit仅用于指示在该行发出信号.因此,发射插槽没有意义.

插槽是常规功能,您可以明确地调用它们.


Cor*_*y D 6

是.插槽是一种功能.您可以像C++中的任何其他函数一样调用插槽doSlotAction(params);.只有信号才能跟随emit关键字.