📌  相关文章
📜  PyQt5 - 按下的单选按钮的背景颜色(1)

📅  最后修改于: 2023-12-03 15:33:51.570000             🧑  作者: Mango

PyQt5 - 按下的单选按钮的背景颜色

介绍

在使用PyQt5编写GUI应用程序时,经常需要使用单选按钮,单选按钮是一种常见的窗口控件,允许用户从多个选项中选择一个。

当单选按钮被选中时,需要改变其背景颜色以表示选择状态。

本文将介绍如何使用PyQt5来更改单选按钮的背景颜色。

示例

以下是一个简单的PyQt5程序,该程序包含两个单选按钮和一个文本标签。

from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QLabel, QVBoxLayout

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        vbox = QVBoxLayout()

        rb1 = QRadioButton('Red', self)
        rb1.setChecked(True)
        rb1.clicked.connect(self.onClicked)

        rb2 = QRadioButton('Blue', self)
        rb2.clicked.connect(self.onClicked)

        vbox.addWidget(rb1)
        vbox.addWidget(rb2)

        self.lb = QLabel('Color', self)

        vbox.addWidget(self.lb)

        self.setLayout(vbox)

        self.setGeometry(300, 300, 350, 250)
        self.setWindowTitle('Color')
        self.show()

    def onClicked(self):
        radioButton = self.sender()

        if radioButton.isChecked():
            self.lb.setStyleSheet('QLabel {color: %s}' % radioButton.text())


if __name__ == '__main__':
    app = QApplication([])
    ex = Example()
    app.exec_()

该程序包含两个单选按钮,当用户点击单选按钮时,会触发onClicked函数,该函数将文本标签的背景颜色更改为所选颜色。

解释

Example类的构造函数中,我们通过QRadioButton类创建了两个单选按钮。当用户点击单选按钮时,我们通过连接clicked信号到onClicked槽函数来处理该操作。

onClicked槽函数中,我们首先通过sender方法获取到用户点击的单选按钮,然后检查它是否被选中。如果它被选中,我们将文本标签的背景颜色更改为所选颜色。

在改变文本标签的背景颜色时,我们使用了setStyleSheet方法。这个方法可以通过CSS样式表来设置窗口控件的样式。在这个例子中,我们使用了QLabelcolor属性来设置文本标签的背景颜色。

结论

使用PyQt5编写GUI应用程序可以让您创建出漂亮、易于使用的应用程序。单选按钮是一个重要的窗口控件,允许用户选择多个选项中的一个。通过掌握如何更改PyQt5单选按钮的背景颜色,您可以创建出更具有吸引力和适用性的应用程序。