📅  最后修改于: 2023-12-03 15:03:56.660000             🧑  作者: Mango
在 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。在这里,我们要给控件起名字,否则默认的控件名称很难记住。
在运行程序后,当鼠标悬停在未选中指示器上时,它的背景颜色会变成黄色。
示例截图:
以上就是 PyQt5 中如何在鼠标悬停时设置单选按钮的未选中指示器背景颜色的介绍。