PyQt5 – 设置单选按钮被按下时的皮肤

  • Post category:Python

PyQt5是基于Python的GUI框架,可以直接调用Qt5的功能。单选按钮是一种常用的GUI控件,通过单选按钮,用户可以从多个选项中选择一个。设置单选按钮被按下时的皮肤可以美化界面,提供更好的用户体验。下面是详细的使用攻略。

安装PyQt5

在使用PyQt5之前,需要先安装PyQt5。可以通过Python包管理工具pip进行安装。

pip install PyQt5

创建单选按钮

在PyQt5中,可以使用QRadioButton类创建单选按钮。以下是创建单选按钮的示例代码:

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

app = QApplication([])
widget = QWidget()
layout = QVBoxLayout()

radio1 = QRadioButton("Option 1")
radio2 = QRadioButton("Option 2")
radio3 = QRadioButton("Option 3")

layout.addWidget(radio1)
layout.addWidget(radio2)
layout.addWidget(radio3)

widget.setLayout(layout)
widget.show()
app.exec_()

以上代码创建了一个窗口并添加了三个单选按钮。可以通过调用QRadioButton的setText()方法设置单选按钮的文本。使用QVBoxLayout布局可以垂直排列单选按钮。最后调用show()方法显示窗口。

设置单选按钮的皮肤

设置单选按钮的皮肤可以通过样式表实现。样式表是一种用于设置控件样式的机制,可通过CSS样式语言进行设置。以下是设置单选按钮被按下时的皮肤示例代码:

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

app = QApplication([])
widget = QWidget()
layout = QVBoxLayout()

radio1 = QRadioButton("Option 1")
radio2 = QRadioButton("Option 2")
radio3 = QRadioButton("Option 3")

radio1.setStyleSheet("QRadioButton::indicator:checked {background-color: red;}")
radio2.setStyleSheet("QRadioButton::indicator:checked {background-color: green;}")
radio3.setStyleSheet("QRadioButton::indicator:checked {background-color: blue;}")

layout.addWidget(radio1)
layout.addWidget(radio2)
layout.addWidget(radio3)

widget.setLayout(layout)
widget.show()
app.exec_()

以上代码在单选按钮被按下时分别设置了不同的背景颜色。使用setStyleSheet()方法设置样式表,其中QRadioButton::indicator:checked表示单选按钮被按下时的样式。

总结

使用PyQt5可以方便地创建单选按钮,使用样式表可以设置单选按钮被按下时的皮肤。样式表可用于设置各种控件的样式,提供灵活的界面美化方式。