Dieser Artikel stellt hauptsächlich die relevanten Informationen über die Umschalttaste vor, die Sie jeden Tag in PyQt5 lernen müssen. Er hat einen gewissen Referenzwert.
Die Umschalttaste ist eine Besonderheit des QPushButton-Modells. Es handelt sich um einen Knopf mit zwei Zuständen: gedrückt und nicht gedrückt. Wir ändern andere Inhalte, indem wir zwischen diesen beiden Zuständen wechseln.
#!/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_())
In unserem Beispiel haben wir drei Umschalttasten und ein QWidget erstellt. Wir setzen die Hintergrundfarbe des QWidget auf Schwarz. Mit der Umschalttaste können Sie die roten, grünen und blauen Teile des Farbwerts umschalten. Die Hintergrundfarbe hängt vom Umschalter ab.
self.col = QColor(0, 0, 0)
Der anfängliche Farbwert ist Schwarz.
redb = QPushButton('红', self) redb.setCheckable(True) redb.move(10, 10)
Erstellen Sie eine Umschalttaste. Wir erstellen eine Schaltfläche mit QPushButton und setzen ihre setCheckable()-Methode auf true.
redb.clicked[bool].connect(self.setColor)
Wenn wir auf die Umschalttaste klicken, wird ein Signal mit der von uns definierten Methode verbunden. Wir bedienen das Klicksignal mit einem booleschen Wert.
source = self.sender()
Wir erhalten die Informationen über den Umschaltknopf (also welcher Knopf angeklickt wurde).
if source.text() == '红': self.col.setRed(val)
Wenn es sich um einen roten Knopf handelt, aktualisieren wir den roten Teil der Farbe entsprechend.
self.square.setStyleSheet('QFrame { background-color:%s }' % self.col.name())
Wir verwenden ein Stylesheet, um die Hintergrundfarbe zu ändern.
Nachdem das Programm ausgeführt wurde
Verwandte Empfehlungen:
PyQt5 muss jedes Mal die Layoutverwaltung erlernen Tag
Kästchen mit Beschriftungen markieren, die Sie jeden Tag in PyQt5 lernen müssen
Erstellen Sie einen Fensterzentrierungseffekt, den Sie jeden Tag in PyQt5 lernen müssen
Das obige ist der detaillierte Inhalt vonPyQt5 muss jeden Tag die Umschalttaste lernen_python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!