J'ai une QMainWindow qui engendre quelques assistants. QMainWindow possède une classe QFrame qui répertorie une collection d'objets. Je veux lancer cette fenêtre depuis les QWizardPages de mon assistant.Façon correcte de relayer les signaux à travers les classes en qt4?
Fondamentalement, j'ai besoin de connecter un signal à un slot dans le grand parent. La façon la plus évidente à faire ce serait:
MyMainWindow *mainWindow = qobject_cast<MyMainWindow *>(parent->parent());
if(mainWindow)
{
connect(button, SIGNAL(clicked()), mainWindow, SLOT(launchWidgetOne()));
} else
{
qDebug() << "Super informative debug message";
}
Être nouveau à Qt4, je me demande si traversant l'arbre parent et qobject_cast sont les meilleures pratiques ou s'il y a un autre moyen de faire ce qui est plus recommandé?
Je considérais la deuxième méthode, mais je ne savais pas si ce niveau de passage de signal était conseillé/bonne pratique. Merci d'avoir éclairci ça. – jkyle