Nasıl qt üzerinde ebeveyn Widget'a erişilir?

oy
5

Bir QTreeWidget (adlandırılır PackList) sınıfı miras ve üst bir KXmlGuiWindow olduğunu. Nasıl ebeveynin yuvalarına erişebilir?

Ben GetParent () denedim -> QTreeWidget sınıfından mySlot () ama bende

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

Herkes doğru yolu biliyor mu? Teşekkürler

Oluştur 09/12/2008 saat 14:51
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
11

Eğer ebeveynin sınıfını biliyorsanız, o sınıfa () parentWidget döküm zorunda ve sonra yuvayı arayacak. Bir yuva bu durumda hiç fark etmez fark etmez veya unutmayın. Sadece bir yöntemi çağrıda bulunuyorlar.

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

Sen yuvaya için sinyal Kablolamayla döküm olmadan arama yapabilirsiniz.

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

Son olarak, kullanabilirsiniz QMetaObject :: invokeMethod bunu atmak istemiyorsanız aramak. Muhtemelen overkill.

Cevap 11/12/2008 saat 03:21
kaynak kullanıcı

oy
1

Ben tamamen sorunuzu anlamak emin değilim.

Ancak, bir widget ana widget'ımıza erişebilir parentWidget () .

Daha sonra, herhangi bir kamu alanını çağırdığımda gerekir:

parentWidget()->a_slot();
Cevap 09/12/2008 saat 15:16
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more