📅  最后修改于: 2023-12-03 15:18:47.105000             🧑  作者: Mango
在PyQt5中,我们可以使用QSS(Qt样式表)来更改单选按钮的颜色,但默认情况下,只有选中状态的单选按钮颜色会被更改,未选中状态的颜色不会改变。本文将向您展示如何更改未选中状态的单选按钮颜色。
首先,我们需要从PyQt5.QtWidgets导入QRadioButton,并创建一个QRadioButton对象:
import sys
from PyQt5.QtWidgets import QApplication, QRadioButton, QWidget
app = QApplication(sys.argv)
widget = QWidget()
radio_button = QRadioButton('选择')
radio_button.move(50, 50)
radio_button.setChecked(True)
widget.setFixedSize(200, 200)
widget.show()
sys.exit(app.exec_())
在上面的代码中,我们创建了一个名为radio_button的QRadioButton对象,并默认将其设置为选中状态。接下来,我们将使用QSS来更改未选中状态的单选按钮颜色。在代码中添加以下内容:
radio_button.setStyleSheet("QRadioButton::indicator:!checked {border: 2px solid #8f8f91;}"
"QRadioButton::indicator:checked {background-color: #bebebe;}"
"QRadioButton::indicator:checked:hover {border: 2px solid #8f8f91;}")
在上面的代码中,我们使用QSS中的伪状态选择器“!checked”来指定未选中状态的单选按钮,将其边框颜色更改为灰色。我们还使用“checked”选择器更改选中状态的颜色为浅灰色,并在悬停状态下将其边框颜色更改为灰色。
最后,我们将widget显示在屏幕上,并启动应用程序。
import sys
from PyQt5.QtWidgets import QApplication, QRadioButton, QWidget
app = QApplication(sys.argv)
widget = QWidget()
radio_button = QRadioButton('选择')
radio_button.move(50, 50)
radio_button.setChecked(True)
radio_button.setStyleSheet("QRadioButton::indicator:!checked {border: 2px solid #8f8f91;}"
"QRadioButton::indicator:checked {background-color: #bebebe;}"
"QRadioButton::indicator:checked:hover {border: 2px solid #8f8f91;}")
widget.setFixedSize(200, 200)
widget.show()
sys.exit(app.exec_())
在本文中,我们向您展示了如何使用QSS在PyQt5中更改未选中状态的单选按钮颜色。您可以在自己的PyQt5应用程序中使用此代码片段,以按照您的喜好更改单选按钮的颜色,并提高应用程序的用户界面体验。