aimeini |
2021-08-30 02:10 |
QT中如何实现父类发送信息给子类,信息槽?
1.我有四个界面,比如说前两个Home(主界面)和Name,因为都用到了touchevent,所以想做个自定义的widget,也就是MyWidget,像代码里那样用,touchevent功能正常。Home有个按钮可跳转到Name。- Home::Home(QWidget *parent) //作为界面在main中show();
: MyWidget(parent),
2.每个界面都要用到背景更换、返回主界面的操作,有的要开始暂停,所以我又做了个widget来作为菜单页,菜单页里放上各类按钮,用来实现功能,(主要是考虑到页面整洁不想加按钮和菜单栏),通过MyWidget的双击事件调出,功能正常。菜单页继承自QWidget,通过在MyWidget里实例化实现。 3.假设我现在从Home跳转到Name页,双击后调出菜单页,比如点击菜单页上的一个按钮实现“关闭菜单页,关闭Name,显示Home页的操作”,现在可以实现发送信号给MyWidget,但无法操作Home和Name。 4.我尝试了在Home实例化菜单类,再通过connnect连接,但槽函数没有执行,我想是在这实例化的菜单类不是打开的菜单页,所以无法建立连接,所以退一步,先同MyWidget建立连接(毕竟打开的菜单页在这里实例化的),再想办法让父类MyWidget发送信号连接子类Home的槽。 在这里并没有对MyWidget或者Home进行实例化,所以不是父子窗口的信号连接问题。 所以,我想干的事是:在通过菜单页按钮操作Home和Name上,问题的关键是:父类MyWidget发送信号连接子类Home的槽,其实我没找到相关的问题,所以这条路可能走不通,想再看看有没有其他路子。 |
|