📌  相关文章
📜  PyQt5 - 鼠标悬停时设置单选按钮的未选中指示器背景颜色(1)

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

PyQt5 - 鼠标悬停时设置单选按钮的未选中指示器背景颜色

在 PyQt5 中,我们可以通过设置样式表来改变控件的风格。如果我们想在鼠标悬停时改变单选按钮未选中指示器的背景颜色,可以通过设置样式表实现。

我们需要先创建一个 QRadioButton 对象,然后设置它的样式表。样式表的格式为:

控件类型#控件名称::未选中指示器:hover{
    属性1: 值1;
    属性2: 值2;
}

其中,控件类型为 QRadioButton,控件名称为我们给它起的名字。在样式表中,我们可以通过 :: 来分割控件名称和伪状态,从而修改不同的控件部分样式。

在这里,我们使用了 ::未选中指示器:hover 伪状态,表示鼠标悬停在未选中指示器上时的状态。我们把想要改变的属性和值放在花括号中即可。

下面是示例代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton

class Example(QWidget):

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

        self.initUI()

    def initUI(self):

        rb1 = QRadioButton('RadioButton 1', self)
        rb1.move(50, 50)
        rb1.setStyleSheet('QRadioButton#rb1::indicator:hover{background-color: yellow;}')

        rb2 = QRadioButton('RadioButton 2', self)
        rb2.move(50, 100)
        rb2.setStyleSheet('QRadioButton#rb2::indicator:hover{background-color: yellow;}')

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('RadioButton')
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在示例代码中,我们创建了两个 QRadioButton 对象,并设置它们的样式表。在样式表中,我们为控件名称分别设置了 #rb1 和 #rb2。在这里,我们要给控件起名字,否则默认的控件名称很难记住。

在运行程序后,当鼠标悬停在未选中指示器上时,它的背景颜色会变成黄色。

示例截图:

RadioButton 鼠标悬停时未选中指示器背景颜色示例截图

以上就是 PyQt5 中如何在鼠标悬停时设置单选按钮的未选中指示器背景颜色的介绍。