TUTORIAL · PyQt5
Tutoriel PyQt5 - Bouton poussoir
Ce tutoriel présente le widget bouton-poussoir PyQt5.
Sur cette page
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
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!.
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()
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.