Comment obtenez-vous un enfants de widgets dans Qt?
Question
Je simuler touches_appuyees à une application par la fonction KeyPress de Qt. Tous les travaux touches_appuyees bien. Cependant, lorsque je passe un QT::Key_Enter
qui est censé appuyer sur le bouton OK de la fenêtre active, ou QT::Key_Cancel
pour le bouton d'annulation, il ne fait rien.
Je pense peut-être, parce que ces boutons ne sont pas la mise au point, et la fenêtre parent lui-même l'a. Comment obtenez-vous les enfants d'une fenêtre? ou plutôt trouver le bouton OK ou Annuler bouton afin que vous pouvez le définir comme activeWindow puis passer avec succès touches_appuyees?
Je:
QWidget *pWin = QApplication::activeWindow;
QObjectList *pList = pWin->children();
//how do you iterate through the list and find the OK or Cancel button?
La solution
Vous pouvez utiliser la fonction findChild
avec le nom de l'objet pour obtenir un enfant spécifique.
Vous pouvez utiliser trop findChildren
pour tous les enfants qui ont le même nom et la itérer dans la liste en utilisant foreach
ou