我正在使用复选框来制作一个电影院的座位表,我想知道当它被点击时,我如何能够更改复选框的背景。我已经为它的默认颜色设置了样式表,但是当它被选中时,我想将它更改为另一个样式表。
座位表:
我到处找了一段时间,但一直找不到解决办法。
然而,如果有一个方法,而不是使用复选框,我将开放的建议。非常感谢。
regseats = QButtonGroup()
for i in range(1, 91):
seat = QCheckBox(self.centralwidget)
regseats.addButton(seat)
labelm = QLabel(f'A-{i}', self.centralwidget)
if i <= 30:
labelm.setGeometry(QRect(80 + 55 * i, 300, 60, 60))
seat.setGeometry(QRect(80 + 55 * i, 300, 60, 60))
elif 30 < i <= 60:
labelm.setGeometry(QRect(80 + 55 * (i-30), 375, 60, 60))
seat.setGeometry(QRect(80 + 55 * (i-30), 375, 60, 60))
elif 60 < i <= 91:
labelm.setGeometry(QRect(80 + 55 * (i-60), 450, 60, 60))
seat.setGeometry(QRect(80 + 55 * (i-60), 450, 60, 60))
seat.raise_()
seat.setStyleSheet(
"QCheckBox:indicator:checked:before{width :50px;height : 50px;background-color: rgba(18, 122, 137, 0.4)}")
发布于 2022-11-16 01:09:52
我建议使用QPushButton,将校验属性设置为True,而不是使用QCheckBox和QLabel进行调整。你可以这样做。
b = QPushButton('A-1', checkable = True)
b.setStyleSheet('''
QPushButton {
width:50px; height:50px;
border: none;
background-color: green;
QPushButton:checked {
background-color: red;
''')
如果你坚持使用QCheckbox,至少对盒子来说是这样的。
c = QCheckBox('')
c.setStyleSheet('''
QCheckBox:indicator {
width:50px; height:50px;