下面是PyQt5中勾选的单选按钮指标的背景图片的完整使用攻略。
1. 安装PyQt5
如果还没有安装PyQt5,可以通过以下命令进行安装:
pip install PyQt5
2. 导入PyQt5模块
在Python代码中使用PyQt5需要先导入相关模块,具体代码如下:
from PyQt5.QtWidgets import QApplication, QMainWindow, QRadioButton
from PyQt5.QtGui import QIcon, QPixmap
from PyQt5.QtCore import Qt
3. 创建窗口和单选按钮
创建一个QMainWindow窗口和一个QRadioButton单选按钮,具体代码如下:
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setGeometry(100, 100, 400, 300)
self.setWindowTitle("PyQt5 Radio Button Example")
self.central_widget = QRadioButton(self)
self.central_widget.setGeometry(50, 50, 200, 100)
4. 设置单选按钮的样式和背景图片
使用setStyleSheet()方法设置单选按钮的样式和背景图片。其中,background-image属性用于设置背景图片,background-color属性用于设置选中时的背景色,border属性用于设置边框。具体代码如下:
style_sheet = """
QRadioButton::indicator:checked {
background-image: url('checked.png');
background-color: #0078D7;
borde: 3px solid #0078D7;
}
QRadioButton::indicator:unchecked {
background-image: url('unchecked.png');
background-color: white;
borde: 3px solid #0078D7;
}
"""
self.central_widget.setStyleSheet(style_sheet)
5. 显示窗口
最后一步是调用QApplication的exec_()方法显示窗口,具体代码如下:
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
示例
以下两个示例均需要将checked.png和unchecked.png两张png图片放在当前目录下。
示例一:设置背景色
设置单选按钮的选中时背景色为蓝色,未选中时背景色为白色。
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setGeometry(100, 100, 400, 300)
self.setWindowTitle("PyQt5 Radio Button Example")
self.central_widget = QRadioButton(self)
self.central_widget.setGeometry(50, 50, 200, 100)
style_sheet = """
QRadioButton::indicator:checked {
background-image: url('checked.png');
background-color: #0078D7;
borde: 3px solid #0078D7;
}
QRadioButton::indicator:unchecked {
background-image: url('unchecked.png');
background-color: white;
borde: 3px solid #0078D7;
}
"""
self.central_widget.setStyleSheet(style_sheet)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
示例二:设置边框
设置单选按钮的选中状态下背景图片为checked.png,背景色为白色,边框为蓝色粗边框;未选中状态下背景图片为unchecked.png,背景色为白色,边框为蓝色粗边框。
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setGeometry(100, 100, 400, 300)
self.setWindowTitle("PyQt5 Radio Button Example")
self.central_widget = QRadioButton(self)
self.central_widget.setGeometry(50, 50, 200, 100)
style_sheet = """
QRadioButton::indicator:checked {
background-image: url('checked.png');
background-color: white;
border: 3px solid #0078D7;
}
QRadioButton::indicator:unchecked {
background-image: url('unchecked.png');
background-color: white;
border: 3px solid #0078D7;
}
"""
self.central_widget.setStyleSheet(style_sheet)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 – 勾选的单选按钮指标的背景图片 - Python技术站