La classe QPushButton PyQt5 Python

1. Description de la classe QPushButton

La classe QPushButton de PyQt5 représente un élément interactif sous forme de bouton au sein d'une interface utilisateur. Ce bouton peut être activé par l'utilisateur pour déclencher une action spécifique.

  1. En héritant de la classe QAbstractButton, la classe QPushButton hérite de toutes les propriétés et méthodes de cette classe tout en ajoutant des fonctionnalités spécifiques à QPushButton.
  2. L'utilisation de la méthode setText() permet de définir le texte affiché sur le bouton, tandis que setIcon() permet de spécifier une icône associée. Pour une interaction plus informative, setToolTip() peut être utilisé pour définir le texte de l'info-bulle qui s'affiche lorsque l'utilisateur survole le bouton.
  3. La méthode setShortcut() offre la possibilité de définir un raccourci clavier pour déclencher l'action associée au bouton.
  4. Un bouton QPushButton peut également être associé à un menu en utilisant setMenu(). Ce menu peut être déclenché soit en cliquant sur le bouton, soit en utilisant un raccourci clavier spécifique lié au menu.
  5. L'utilisation de setDefault() permet de déterminer si le bouton doit être le bouton par défaut de la fenêtre parente. Lorsque ce bouton est enfoncé, il peut être déclenché en appuyant sur la touche "Entrée" ou "Espace". setAutoDefault() permet, quant à elle, d'activer automatiquement le bouton lorsque la fenêtre parente obtient le focus.
  6. Des méthodes comme click() et animateClick() peuvent être utilisées pour simuler manuellement un clic sur le bouton, avec animateClick() déclenchant une animation de clic.
  7. En termes d'interaction, la classe QPushButton émet différents signaux tels que clicked() lorsqu'un clic est effectué, pressed() lorsqu'il est enfoncé, et released() lorsqu'il est relâché. Ces signaux offrent la possibilité de réagir à divers événements associés au bouton.

2. Créer un Bouton PyQt5 avec la classe QPusButton

Pour créer un bouton de commande du type QPusButton, il suffit d'instancier la classe QPusButton:

3. Associer une action à un bouton QPushButton PyQt5

Ce qui affiche à l'écran une fenêtre avec un bouton de commande et en cliquant sur ce dernier, on aperçoit l'affichage à l'écran du message:
Why you clicked the button !

4. QPushButton PyQt5 selon l'approche objet Python

4.1 Créer un QPushButton selon l'approche objet Python

4.2 Associer une action à un QPushButton selon l'approche objet Python

5. Liste des principales méthodes associées à un objet 'QPushButton' PyQt5

Voici une compilation non exhaustive des principales méthodes liées à un objet QPushButton en PyQt5, classées par ordre alphabétique :

  1. animateClick(): Déclenche une animation simulant un clic sur le bouton.
  2. click(): Génère un signal clicked pour notifier qu'un clic a été effectué sur le bouton.
  3. defaultAction(): Renvoie l'action par défaut associée au bouton.
  4. hasDefault(): Retourne True si le bouton possède une action par défaut, False sinon.
  5. icon(): Renvoie l'icône actuellement affichée sur le bouton.
  6. isCheckable(): Indique si le bouton est de type "bouton à bascule" (toggle button) en retournant True, sinon False.
  7. isChecked(): Renvoie True si le bouton de type "bouton à bascule" est actuellement enfoncé, sinon False.
  8. menu(): Renvoie le menu associé au bouton.
  9. setAutoDefault(): Configure si le bouton doit automatiquement devenir le bouton par défaut de la fenêtre parente lorsqu'il obtient le focus (True) ou non (False).
  10. setDefault(): Définit si le bouton est le bouton par défaut de la fenêtre parente (True) ou non (False).
  11. setFlat(): Détermine si le bouton est un bouton plat (True) ou non (False).
  12. setIcon(): Spécifie l'icône à afficher sur le bouton.
  13. setMenu(): Associe un menu au bouton.
  14. setShortcut(): Définit le raccourci clavier associé au bouton.
  15. setText(): Fixe le texte à afficher sur le bouton.
  16. setToolTip(): Définit le texte de l'infobulle associée au bouton.
  17. showMenu(): Affiche le menu associé au bouton.
  18. text(): Récupère le texte actuellement affiché sur le bouton.
  19. toggle(): Inverse l'état du bouton de type "bouton à bascule".

6. Quiz

Exercice 1
Quelle méthode est utilisée pour déclencher l'animation d'un clic sur un QPushButton en PyQt5 ?

a) triggerClick()
b) simulateClick()
c) animateClick()
d) clickAnimation()

Exercice 2
Comment peut-on définir le texte affiché sur un QPushButton en PyQt5 ?

a) setCaption()
b) setText()
c) setLabel()
d) setTitle()

Exercice 3
Quelle méthode renvoie True si un QPushButton est actuellement enfoncé (pour les boutons bascules) en PyQt5 ?

a) isPressed()
b) isChecked()
c) isToggled()
d) isActivated()

Exercice 4
Comment spécifie-t-on une icône à afficher sur un QPushButton en PyQt5 ?

a) setIconImage()
b) setImageIcon()
c) setIcon()
d) setButtonIcon()

Exercice 5
Quelle méthode est utilisée pour associer un menu à un QPushButton en PyQt5 ?

a) assignMenu()
b) setContextMenu()
c) attachMenu()
d) setMenu()

Exercice 6
Quelle méthode permet de définir le raccourci clavier associé à un QPushButton en PyQt5 ?

a) setShortcutKey()
b) assignShortcut()
c) setHotkey()
d) setShortcut()

Exercice 7
Comment peut-on vérifier si un QPushButton a une action par défaut en PyQt5 ?

a) hasAction()
b) isDefault()
c) hasDefaultAction()
d) defaultCheck()

Exercice 8
Quelle méthode est utilisée pour spécifier si un QPushButton doit être automatiquement activé lorsque la fenêtre parente a le focus en PyQt5 ?

a) setFocusOnDefault()
b) setDefaultFocus()
c) setAutoDefault()
d) enableOnFocus()

Exercice 9
Comment déclenche-t-on manuellement un clic sur un QPushButton en PyQt5 ?

a) triggerClick()
b) simulateClick()
c) manualClick()
d) click()

Exercice 10
Quelle méthode renvoie le texte actuellement affiché sur un QPushButton en PyQt5 ?

a) getCurrentText()
b) text()
c) retrieveText()
d) displayText()

  1. Exercice 1 : c) animateClick()
  2. Exercice 2 : b) setText()
  3. Exercice 3 : b) isChecked()
  4. Exercice 4 : c) setIcon()
  5. Exercice 5 : d) setMenu()
  6. Exercice 6 : d) setShortcut()
  7. Exercice 7 : c) hasDefaultAction()
  8. Exercice 8 : c) setAutoDefault()
  9. Exercice 9 : d) click()
  10. Exercice10 : b) text()

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply