📅  最后修改于: 2023-12-03 15:18:47.089000             🧑  作者: Mango
在 PyQt5 中,我们可以使用样式表(StyleSheet)来设置控件的样式。当复选框被选中时,我们可以使用 StyleSheet 设置复选框指示器的外观。在本文中,我们将展示如何使用 StyleSheet 实现此功能。
首先,我们需要创建一个复选框。然后,我们将创建一个槽函数来响应复选框的状态更改事件。在槽函数中,我们将检查复选框是否被选中,并相应地设置复选框指示器的样式。最后,我们将连接槽函数和复选框的状态更改事件。
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
from PyQt5.QtCore import Qt
class CheckboxExample(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
checkbox = QCheckBox('Checkbox', self)
checkbox.move(20, 20)
checkbox.stateChanged.connect(self.changeStatus)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Checkbox')
self.show()
def changeStatus(self, state):
if state == Qt.Checked:
self.setStyleSheet('QCheckBox::indicator:checked {image: url(checked.png);}')
else:
self.setStyleSheet('QCheckBox::indicator:unchecked {image: url(unchecked.png);}')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = CheckboxExample()
sys.exit(app.exec_())
上述代码创建了一个简单的 PyQt5 窗口,并在窗口中添加了一个复选框。当复选框被选中或取消选中时,changeStatus 槽函数将被调用。在此函数中,我们使用 StyleSheet 设置复选框指示器的样式。当复选框被选中时,我们将使用 checked.png 图像作为选中指示器的图标,并使用 unchecked.png 图像作为未选中指示器的图标。注意,图片文件需要与脚本文件放在同一目录中。
在 PyQt5 中,我们可以使用 StyleSheet 设置控件的样式。当复选框被选中时,我们可以使用 StyleSheet 设置复选框指示器的外观。请参照上述步骤实现此功能。