我正在使用复选框来制作一个电影院的座位表,我想知道当它被点击时,我如何能够更改复选框的背景。我已经为它的默认颜色设置了样式表,但是当它被选中时,我想将它更改为另一个样式表。
座位表:
我到处找了一段时间,但一直找不到解决办法。
然而,如果有一个方法,而不是使用复选框,我将开放的建议。非常感谢。
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;