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
我一直希望有一個事件處理函數,每個事件,即使有不同的部件相同類型的事件。如果在幾個處理程序中有共同的功能,我將其分解成單獨的方法。然後我從每個處理程序調用該方法。有時候這會導致很多小函數,但是性能損失通常是微不足道的,並且代碼更易於閱讀和理解。 –