2010-11-25 17 views
0

Mac ont la capacité de spécifier deux boutons par défaut, l'un activé par le retour et l'autre par la barre d'espace. Un exemple clair est lorsque vous appuyez sur le bouton d'alimentation sur Mac. Il vous donne une boîte de dialogue avec quelques boutons tranquilles, dans lequel il est l'arrêt par défaut pour la touche de retour et le redémarrage est par défaut pour la touche de la barre d'espace. Est-il possible d'atteindre un tel effet dans Qt?Qt bouton par défaut sur mac

Répondre

2

Oui.

Utilisez QPushButton. Sur le bouton "par défaut" utiliser setDefault et setAutoDefault() pour les faire apparaître comme un bouton par défaut.

http://doc.trolltech.com/4.7/qpushbutton.html#default-prop

Pour gérer la touche d'échappement (et peut-être même la clé de retour), vous devez définir les raccourcis pour chaque bouton pour les associer à une touche correspondante. Il est facile de le faire en utilisant Qt Creator/Designer.

+0

Je suppose que c'est ce que je cherchais, mais il y a 2 problèmes. Si j'utilise une ButtonBox, comment est-ce que je changerais la propriété du bouton Individuel et Comment puis-je réaliser ceci dans la boîte de message? – nik

+1

Vous pouvez utiliser la méthode 'buttons()' pour obtenir une liste de boutons dans cette ButtonBox. Cela renverra une liste de QPushButtons que vous pouvez modifier si nécessaire. – BastiBen