好的,这可能是重复的,但是由于我无法从(可能)类似的问题中真正得到任何东西,所以这是我的:我正在开发一个小型 PyQt4 程序,我可以在其中输入歌曲的名称 QLineEdit然后在它下面添加一个QLabel。我想要在每个标签旁边有一个按钮,单击时删除标签。相关代码:
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(...),不幸的是,这给了我一个错误,我无法将该值分配给函数。而且我无法创建字典,因为我必须为此提供不同的实例。
任何想法将不胜感激,非常感谢。