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

我已经尝试过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来调用它。那可能太过分了。

关于c++ - 如何访问Qt上的父窗口小部件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/352758/

10-12 02:58