Je suis nouveau sur Qt et la différence entre QPushButton
et QToolButton
n'est pas si claire pour moi.
Je sais qu'un QToolButton
est généralement utilisé dans un QToolBar
et il ne montre généralement qu'une icône, sans texte, mais je ne comprends pas très bien la principale différence entre les deux.
Y a-t-il une différence plus importante? Quand dois-je utiliser QPushButton
et quand dois-je utiliser QToolButton
?
Je voudrais savoir ceci pour utiliser le bouton le plus approprié, et j'ai besoin d'effectuer des tests GUI et peut-être que cela peut être pertinent.
QToolButton
fait partie d'un groupe de widgets dans le module QtWidgets qui se concentre autour de QAction
: QMenu
, QToolBar
, etc. QPushButton
n'est qu'un bouton. Par conséquent, QToolButton
est beaucoup plus complexe sous le capot que QPushButton
. Une liste d'exemples (non complète):
QToolButton
est conçu pour être étroitement intégré à QAction
. La modification de l'icône, du texte, etc. de l'action par défaut d'un bouton d'outil se reflète sur le bouton.QToolButton
prend en charge un type de bouton "divisé" où une zone active de la barre latérale ouvre un menu au lieu de déclencher l'action par défaut.QToolBar
en ajoutant une action, tandis que d'autres widgets doivent être explicitement ajoutés.Notez également que:
QToolButton
a des marges internes par défaut plus petites que QPushButton
, reflétant qu'il est censé être affiché dans une ligne ou une grille serrée. QPushButton
est plus pour les boutons de type "Ok"/"Fermer" qui contiennent du texte avec une icône facultative.QToolButton
devrait généralement avoir une icône. Un QPushButton
doit toujours avoir du texte.Depuis Qt doc: http://doc.qt.io/qt-5/qtoolbutton.html#details
"Un bouton d'outil est un bouton spécial qui permet d'accéder rapidement à des commandes ou des options spécifiques. Contrairement à un bouton de commande normal, un bouton d'outil n'affiche généralement pas d'étiquette de texte, mais affiche une icône à la place."
Lorsque je veux un bouton dans l'interface graphique simple avec seulement une icône, j'utilise QToolButton. Mais quand je veux un bouton classique, j'utilise QPushButton.
Pas de grandes différences,