我在网上看到了很多关于信号和插槽的例子,但没有一个能告诉你如何从主窗口类发出信号并连接到另一个窗口类的另一个插槽。假设从主窗口发出的信号是bool类型,如果它是1,我想将它连接到另一个类的另一个槽。我总是看到它以相反的方式完成。有人可以解释最有效的方法吗?
答案 0 :(得分:1)
首先,您需要继承自己的主窗口,然后添加Q_OBJECT宏和信号部分:
class myMainWindow : public QMainWindow
{
Q_OBJECT
signals:
void mySignal(bool someValue);
}
如果要在窗口代码中发出信号,请使用
emit mySignal(true); // or false....
然后,你像往常一样连接:
connect(myWindowInstace, SIGNAL(mySignal(bool), someOtherWidget, SLOT(takesMySignal(bool));