0
好的,這可能是重複的,但由於我無法從類似的問題中得到任何答案,所以這裏是我的:我正在研究一個小型的PyQt4程序,可以在QLineEdit中輸入歌曲的名稱,然後在其下面添加一個QLabel。我需要在這些標籤中的每一個旁邊都有一個按鈕,用於在單擊時刪除標籤。相關代碼:在Python/PyQt4中動態調整實例
def Add(self):
self.rf= QtGui.QLabel(self.le1.text(),self)
self.rf.move(45,30)
self.rf.resize(450,30)
self.rf.show()
self.x = QtGui.QPushButton("X",self)
self.x.move(10,30)
self.x.resize(30,30)
self.x.show()
self.x.clicked.connect(self.Del)
def Del(self):
self.rf.close()
self.x.close()
現在,我不理解的是如何,我可以單擊該按鈕時,不同的實例分配給每個這些動態添加Qlabels,爲了刪除特定的一個。
我最好的想法是創建一個變量,其中包含一個隨每個添加的QLabel而變化的數字,例如var = rf + str(num)和num = 0,然後爲每個QLabel添加1到num,然後使用getattr爲實例,所以getattr(self,var)= Qtgui.QLabel(...),不幸的是,這給我一個錯誤,我無法將該值賦給函數。我不能創建一本字典,因爲我必須爲此創建不同的實例。
任何想法將不勝感激,非常感謝。