Qt支持全局观察者模式(多层窗体之间直接传递消息)-传参功能
发布时间
阅读量:
阅读量
基于Qt框架的全局观察者模式实现(实现多层窗体间消息的直接传递)
近来做项目发现,多个窗体之间要通信真的好麻烦,比如:A调出B,B调出C,那么C给A发消息,那就得经过B转发才能实现。对于两三层窗体,这种方法还可以接受,但嵌套太多就有点烦人了。
基于这个原因,那么要实现的东西就很清楚了,有一个全局类,去直接绑定信号槽关系,在需要触发的时候,通过这个全局类的函数,去相应的触发一下,就可以实现直连通信了。
globalObserver.h
#ifndef GLOBALOBSERVER_H
#define GLOBALOBSERVER_H
#include <QObject>
#include "obesrverApater.h"
struct relationData
{
QString type;
QObject *reciver;
obesrverApater *obesrverApater;
};
class globalObserver : public QObject
{
Q_OBJECT
public:
//因为是全局只有一个
全部评论 (0)
还没有任何评论哟~
