好吧,这可能是一个重复,但由于我无法从(可能)类似的问题中得到任何东西,这里是我的:我正在开发一个小的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()
现在,我不明白的是如何为这些动态添加的qlabel分配不同的实例,以便在单击按钮时删除特定的实例。你知道吗
我的最佳想法是创建一个变量,其中包含一个数字,该数字会随着每个添加的QLabel而改变,比如var=rf+str(num)和num=0,然后为每个QLabel添加1到num,然后为实例使用getattr,因此getattr(self,var)=Qtgui.QLabel(…),不幸的是,这给了我一个错误,我无法将该值赋给它函数。我不能创建字典,因为我必须有不同的实例。你知道吗
如果您有任何想法,我们将不胜感激,非常感谢。你知道吗
你可以把它们都放在一个dict中,然后把它们从标签文本中去掉。它还提供了一种快速检查重复项的方法。你知道吗
相关问题 更多 >
编程相关推荐