Maison > Article > développement back-end > PyQt5 doit apprendre le bouton de commutation tous les jours_python
Cet article présente principalement en détail les informations pertinentes sur le bouton de commutation que vous devez apprendre chaque jour dans PyQt5. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
Le bouton de commutation est une fonctionnalité spéciale. du modèle QPushButton. C'est un bouton à deux états : enfoncé et non enfoncé. Nous modifions d'autres contenus en basculant entre ces deux états.
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 在这个例子中,我们创建三个切换按钮。 他们将控制一个QFrame的背景颜色。 作者:我的世界你曾经来过 博客:http://blog.csdn.net/weiaitaowang 最后编辑:2016年8月3日 """ import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QFrame from PyQt5.QtGui import QColor class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.col = QColor(0, 0, 0) redb = QPushButton('红', self) redb.setCheckable(True) redb.move(10, 10) greenb = QPushButton('绿', self) greenb.setCheckable(True) greenb.move(10, 60) blueb = QPushButton('蓝', self) blueb.setCheckable(True) blueb.move(10, 110) redb.clicked[bool].connect(self.setColor) greenb.clicked[bool].connect(self.setColor) blueb.clicked[bool].connect(self.setColor) self.square = QFrame(self) self.square.setGeometry(150, 20, 100, 100) self.square.setStyleSheet('QWidget { background-color:%s }' % self.col.name()) self.setGeometry(300, 300, 280, 170) self.setWindowTitle('切换按钮') self.show() def setColor(self, pressed): source = self.sender() if pressed: val = 255 else: val = 0 if source.text() == '红': self.col.setRed(val) elif source.text() == '绿': self.col.setGreen(val) else: self.col.setBlue(val) self.square.setStyleSheet('QFrame { background-color:%s }' % self.col.name()) if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
Dans notre exemple, nous avons créé trois boutons bascule et un QWidget. Nous définissons la couleur d'arrière-plan du QWidget sur noir. Le bouton bascule fera basculer les parties rouge, verte et bleue de la valeur de couleur. La couleur d'arrière-plan dépendra de la bascule.
self.col = QColor(0, 0, 0)
La valeur de couleur initiale est le noir.
redb = QPushButton('红', self) redb.setCheckable(True) redb.move(10, 10)
Créez un bouton bascule. Nous créons un bouton en utilisant QPushButton et définissons sa méthode setCheckable() sur true.
redb.clicked[bool].connect(self.setColor)
Lorsque nous cliquons sur le bouton bascule, un signal est connecté à la méthode que nous avons définie. Nous exploitons le signal de clic en utilisant une valeur booléenne.
source = self.sender()
Nous obtenons les informations sur le bouton bascule (c'est-à-dire sur quel bouton a été cliqué).
if source.text() == '红': self.col.setRed(val)
S'il s'agit d'un bouton rouge, nous mettons à jour la partie rouge de la couleur en conséquence.
self.square.setStyleSheet('QFrame { background-color:%s }' % self.col.name())
Nous utilisons une feuille de style pour changer la couleur de fond.
Une fois le programme exécuté
Recommandations associées :
Gestion de la mise en page PyQt5 que vous devez apprendre tous les jours
Cocher les cases avec les étiquettes que vous devez apprendre tous les jours dans PyQt5
Créer des effets de centrage de fenêtre que vous devez apprendre tous les jours dans PyQt5
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!