I have an inherited QTreeWidget (called PackList) class and its parent is a KXmlGuiWindow. How can I access to the parent's slots?
I've tried getParent()->mySlot() from the QTreeWidget class but I've got
error: no matching function for call to 'PackList::mySlot()'
Does anybody know the correct way? Thanks
If you know the parent's class, you will have to cast parentWidget() to that class and then call your slot. Keep in mind whether or not it's a slot makes no difference in this case. You are just calling a method.
((KXmlGuiWindow*)parentWidget())->mySlot();
You can make the call without casting by wiring up your signal to the slot.
connect( this, SIGNAL(mySignal()), parentWidget(), SLOT(mySlot()) );
Lastly, you can use QMetaObject::invokeMethod to call it if you don't want to cast it. That's probably overkill.
I'm not sure I fully understand your question.
However, you can access the parent widget of a widget with parentWidget().
Then, you should be able to call any public slot :
parentWidget()->a_slot();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With