📅  最后修改于: 2023-12-03 15:03:56.304000             🧑  作者: Mango
在 Pyqt5 中,单选按钮默认的指示器颜色和样式是固定的,但是我们可以通过自定义样式表来改变它们的颜色和样式。
本文将介绍如何在按钮按下时,设置单选按钮指示器皮肤。
为了使用 PyQt5 来创建GUI,我们需要先导入 PyQt5 模块:
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton
from PyQt5.QtCore import Qt
我们需要首先创建一个窗口并添加单选按钮:
class Window(QWidget):
def __init__(self):
super().__init__()
# 设置窗口标题和大小
self.setWindowTitle("QtRadio Button Example")
self.setGeometry(100, 100, 300, 200)
# 创建单选按钮并设置其默认状态
self.radio_button = QRadioButton("单选按钮", self)
self.radio_button.move(50, 50)
self.radio_button.setChecked(True)
# 连接信号和槽函数
self.radio_button.clicked.connect(self.change_skin)
接下来,我们需要创建一个槽函数,当单选按钮被按下时将更改其颜色:
def change_skin(self):
# 当单选按钮被按下时,更改指示器的颜色
if self.radio_button.isChecked():
self.radio_button.setStyleSheet("QRadioButton::indicator {background-color: red;}")
else:
self.radio_button.setStyleSheet("QRadioButton::indicator {background-color: green;}")
在这个槽函数中,我们首先判断单选按钮的状态是否被选中(isChecked()) 。如果选中,则更改指示器的背景颜色为红色,否则更改为绿色。更改样式表的方法是使用 setStyleSheet() 函数。
最后,我们创建一个 QApplication 对象并运行应用程序:
if __name__ == '__main__':
app = QApplication([])
window = Window()
window.show()
app.exec_()
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton
from PyQt5.QtCore import Qt
class Window(QWidget):
def __init__(self):
super().__init__()
# 设置窗口标题和大小
self.setWindowTitle("QtRadio Button Example")
self.setGeometry(100, 100, 300, 200)
# 创建单选按钮并设置其默认状态
self.radio_button = QRadioButton("单选按钮", self)
self.radio_button.move(50, 50)
self.radio_button.setChecked(True)
# 连接信号和槽函数
self.radio_button.clicked.connect(self.change_skin)
def change_skin(self):
# 当单选按钮被按下时,更改指示器的颜色
if self.radio_button.isChecked():
self.radio_button.setStyleSheet("QRadioButton::indicator {background-color: red;}")
else:
self.radio_button.setStyleSheet("QRadioButton::indicator {background-color: green;}")
if __name__ == '__main__':
app = QApplication([])
window = Window()
window.show()
app.exec_()
运行该代码,单击单选按钮时,指示器的颜色将更改为红色或绿色。