継承された 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を使用して呼び出すことができます。それはおそらくやり過ぎです。
あなたの質問を完全に理解しているかどうかわかりません。
ただし、ウィジェットの親ウィジェットには、parentWidget()でアクセスできます。
次に、任意の public slot を呼び出すことができるはずです:
parentWidget()->a_slot();