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?
Était-ce utile?

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

Autres conseils

Vous pouvez mettre une coutume sur votre widget pour la capture l'événement clé et de voir ce qui se passe vraiment à elle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top