Qt 窗口间通信

窗口间的通信是很常见的问题,针对于两者:父窗口和子窗口。(两个类是关联关系:一个类作为另外一个类的成员变量)又可以细分为父向子传和子向父传。
父—>子:

以一个简单的例子进行说明:
Qt 窗口间通信
文章图片


1.在父类中定义自类为成员变量Child *ch; show()或exec()启动子窗口
2.子类:定义signals:send(); 定义一个私有成员用于存储通信的内容,并给出get,set方法。
3.父类:定义 slots:receive(); 在构造函数中加入connect(ch,SIGNAL(send()),this,SLOT(receive()));
子—>父:

在子类中定义一个带参成员函数,在父类创建一个子类对象,调用其方法函数,将值传给参数变量。


【Qt 窗口间通信】两种情况的区别在于父类可以调用子类,而子类却无法调用父类。(因为在Qt中不支持两个类之间互为成员变量!!!)


    推荐阅读