Tutoriel PyQt5 - Bouton poussoir

  1. Bouton poussoir PyQt5 - QPushButton
  2. PyQt5 Style de l’ensemble de widgets pour étiquette QLabel
  3. PyQt5 Événement de clic d’étiquette QLabel

Le widget bouton poussoir QPushButton est un bouton de commande dans PyQt5. Il est cliqué par l’utilisateur pour commander au PC d’effectuer une action spécifique, comme Appliquer, Annuler et Sauvegarder.

Bouton poussoir PyQt5 - QPushButton

QPushButton.py
import sys
from PyQt5 import QtWidgets

def basicWindow():
    app = QtWidgets.QApplication(sys.argv)
    windowExample = QtWidgets.QWidget()
    
    buttonA = QtWidgets.QPushButton(windowExample)
    labelA = QtWidgets.QLabel(windowExample)
    
    buttonA.setText('Click!')
    labelA.setText('Show Label')
    
    windowExample.setWindowTitle('Push Button Example')
    
    buttonA.move(100, 50)
    labelA.move(110, 100)
    
    windowExample.setGeometry(100, 100, 300, 200)
    windowExample.show()
    sys.exit(app.exec_())

basicWindow()

Où,

buttonA = QtWidgets.QPushButton(windowExample)

Le bouton A est le bouton poussoir Q de QtWidgets et il doit être ajouté à la fenêtre Exemple de la même manière que les étiquettes présentées dans les derniers chapitres (/fr/tutorial/pyqt5/pyqt5-label/).

buttonA.setText('Click!')

Il définit le texte du boutonA comme étant Click!.

Bouton poussoir PyQt5

En fait, ça ne va rien faire.

PyQt5 Style de l’ensemble de widgets pour étiquette QLabel

Le style du widget PyQt5 QLabel comme la couleur de fond, la famille de police et la taille de police peut être défini avec la méthode setStyleSheet. Il fonctionne comme une feuille de style dans le CSS.

buttonA.setStyleSheet("background-color: red;font-size:18px;font-family:Times New Roman;");

Il définit buttonA avec les styles suivants,

Style Valeur
background-color red
font-size  18px
 font-family  Times New Roman

Il est pratique de définir les styles dans PyQt5 car il est similaire au CSS.

import sys
from PyQt5 import QtWidgets

def basicWindow():
    app = QtWidgets.QApplication(sys.argv)
    windowExample = QtWidgets.QWidget()
    
    buttonA = QtWidgets.QPushButton(windowExample)
    labelA = QtWidgets.QLabel(windowExample)

    buttonA.setStyleSheet("background-color: red;font-size:18px;font-family:Times New Roman;");
    
    buttonA.setText('Click!')
    labelA.setText('Show Label')
    
    windowExample.setWindowTitle('Push Button Example')
    
    buttonA.move(100, 50)
    labelA.move(110, 100)
    
    windowExample.setGeometry(100, 100, 300, 200)
    windowExample.show()
    sys.exit(app.exec_())

basicWindow()

Exemple de feuille de style pour les boutons poussoirs de la PyQt5

PyQt5 Événement de clic d’étiquette QLabel

L’événement de clic de bouton est connecté à une fonction spécifique avec la méthode QLabel.clicked.connect(func).

import sys
from PyQt5 import QtWidgets
   

class Test(QtWidgets.QMainWindow):
    def __init__(self):
        QtWidgets.QMainWindow.__init__(self)

        self.buttonA = QtWidgets.QPushButton('Click!', self)
        self.buttonA.clicked.connect(self.clickCallback)
        self.buttonA.move(100, 50)

        self.labelA = QtWidgets.QLabel(self)
        self.labelA.move(110, 100)

        self.setGeometry(100, 100, 300, 200)

    def clickCallback(self):
        self.labelA.setText("Button is clicked")

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    test = Test()
    test.show()
    sys.exit( app.exec_() )

Lorsque le QPushButton boutonA est cliqué, il déclenche la fonction clickCallback pour définir le texte du label comme Button is clicked.

comments powered by Disqus