c – 如何访问qt上的父窗口小部件?

我有一个继承的QTreeWidget(称为PackList)类,其父级是KXmlGuiWindow.
如何访问父母的插槽?

我已经尝试过QTreeWidget类的getParent() – > mySlot()但我已经有了

error: no matching function for call to 'PackList::mySlot()'

有人知道正确的方法吗?谢谢

最佳答案
如果您知道父类,则必须将parentWidget()强制转换为该类,然后调用您的插槽.请记住,在这种情况下,它是否与插槽没有区别.你只是在调用一种方法.

((KXmlGuiWindow*)parentWidget())->mySlot();

您可以通过将信号连接到插槽来进行无需转换的呼叫.

connect( this,SIGNAL(mySignal()),parentWidget(),SLOT(mySlot()) );

最后,如果您不想使用它,可以使用QMetaObject::invokeMethod调用它.这可能是矫枉过正的.

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...