📌  相关文章
📜  PyQt5 - 选中状态的单选按钮的背景图像(1)

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

PyQt5 - 选中状态的单选按钮的背景图像

PyQt5中的单选按钮(QRadioButton)提供了设置选中状态下的背景图像的功能。这通常用于指示单选按钮已被选中,与未选中状态下的背景图像进行区分。

设置选中状态下的背景图像

使用setStyleSheet()函数以CSS样式的形式设置选中状态下的背景图像。

radio_button.setStyleSheet("QRadioButton::indicator:checked { background-image: url(path/to/checked/image); }")

其中,path/to/checked/image是指选中状态下的背景图像的路径。

完整示例

以下是一个完整的示例,演示了如何设置单选按钮的选中状态下的背景图像。

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


class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        # 创建单选按钮
        radio_button = QRadioButton('Radio Button', self)

        # 设置未选中状态下的背景图像
        radio_button.setStyleSheet("QRadioButton { background-image: url(path/to/unchecked/image); }")

        # 设置选中状态下的背景图像
        radio_button.setStyleSheet("QRadioButton::indicator:checked { background-image: url(path/to/checked/image); }")

        # 创建垂直布局并将单选按钮添加到其中
        vbox = QVBoxLayout()
        vbox.addWidget(radio_button)
        self.setLayout(vbox)

        self.setWindowTitle('PyQt5 - Radio Button Background Image')
        self.setGeometry(300, 300, 300, 200)
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
总结

使用PyQt5,您可以轻松设置单选按钮的选中状态下的背景图像。只需使用setStyleSheet()函数并将选中状态下的背景图像的路径添加到CSS样式中即可。