使用PyQt5制作未选中状态下的单选按钮有两种方法,一种是自定义样式表,另一种是使用背景图片。本攻略将重点介绍使用背景图片的方法。
方法一:使用背景图片
准备工作
- 准备一张图片作为未选中状态下单选按钮的背景图片。
- 新建一个pyqt5工程,将图片放在工程目录下,例如将图片命名为“radio_button_unchecked.png”。
代码实现
- 通过QButtonGroup创建单选按钮。
from PyQt5.QtWidgets import QApplication, QButtonGroup, QRadioButton, QVBoxLayout, QWidget
app = QApplication([])
window = QWidget()
layout = QVBoxLayout()
button_group = QButtonGroup()
for i in range(3):
button = QRadioButton(f'radio_button_{i}')
button_group.addButton(button)
layout.addWidget(button)
window.setLayout(layout)
window.show()
app.exec_()
- 设置未选中状态下的样式表,并在样式表中设置背景图片的路径。
style_unchecked = """
QRadioButton::indicator:!checked {
background-image: url('radio_button_unchecked.png');
background-repeat: no-repeat;
}
"""
for button in button_group.buttons():
button.setStyleSheet(style_unchecked)
- 运行代码,查看单选按钮未选中状态下背景图片是否生效。
方法二:使用样式表
准备工作
- 同方法一。
代码实现
- 通过QButtonGroup创建单选按钮。
from PyQt5.QtWidgets import QApplication, QButtonGroup, QRadioButton, QVBoxLayout, QWidget
app = QApplication([])
window = QWidget()
layout = QVBoxLayout()
button_group = QButtonGroup()
for i in range(3):
button = QRadioButton(f'radio_button_{i}')
button_group.addButton(button)
layout.addWidget(button)
window.setLayout(layout)
window.show()
app.exec_()
- 设置未选中状态下的背景图片。
style_unchecked = """
QRadioButton::indicator:!checked {
background-image: url('radio_button_unchecked.png');
background-repeat: no-repeat;
}
"""
app.setStyleSheet(style_unchecked)
- 运行代码,查看单选按钮未选中状态下背景图片是否生效。
以上就是使用背景图片制作未选中状态下单选按钮的完整使用攻略。两种方法各有优缺点,可根据实际情况进行选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 – 未选中状态下的单选按钮的背景图片 - Python技术站