在Python/PyQt4中动态生成实例

2024-05-01 22:03:51 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,这可能是一个重复,但由于我无法从(可能)类似的问题中得到任何东西,这里是我的:我正在开发一个小的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(…),不幸的是,这给了我一个错误,我无法将该值赋给它函数。我不能创建字典,因为我必须有不同的实例。你知道吗

如果您有任何想法,我们将不胜感激,非常感谢。你知道吗


Tags: 实例selfclosemovedefshow数字标签
1条回答
网友
1楼 · 发布于 2024-05-01 22:03:51

你可以把它们都放在一个dict中,然后把它们从标签文本中去掉。它还提供了一种快速检查重复项的方法。你知道吗

相关问题 更多 >