0
我是新来的Python和PyQt的很抱歉,如果我无法描述我的问题清楚。我想做一个电影院的座位选择UI,这是我做了下面的代码:PyQt的 - QPushButton环
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import (QWidget, QApplication)
class Ui2(QWidget):
def __init__(self):
super(Ui2, self).__init__()
uic.loadUi('seat.ui', self)
self.A1.setStyleSheet("background-color: red")
self.B1.clicked.connect(self.greenButton)
self.show()
def greenButton(self):
self.B1.setStyleSheet("background-color: green")
self.B1.clicked.connect(self.whiteButton)
def whiteButton(self):
self.B1.setStyleSheet("background-color: white")
self.B1.clicked.connect(self.greenButton)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Ui2()
sys.exit(app.exec_())
问题是,如果我按一下按钮B1多次程序将冻结 - 我读它的地方,这是由满的内存引起的。
而且这仅仅是按钮B1,我应该怎么做,如果我想要实现同样功能的所有按钮?
非常感谢!
太感谢你了!它像一个魅力。另外,您能否告诉我如何在所有按钮(例如A1,A2,B1,B2 ...)上使用此功能而无需为每个按钮创建功能? – pooroll
我一直希望有一个事件处理函数,每个事件,即使有不同的部件相同类型的事件。如果在几个处理程序中有共同的功能,我将其分解成单独的方法。然后我从每个处理程序调用该方法。有时候这会导致很多小函数,但是性能损失通常是微不足道的,并且代码更易于阅读和理解。 –