📌  相关文章
📜  PyQt5 - 更改未选中状态的单选按钮颜色(1)

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

PyQt5 - 更改未选中状态的单选按钮颜色

在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应用程序中使用此代码片段,以按照您的喜好更改单选按钮的颜色,并提高应用程序的用户界面体验。