Хорошо, это может быть дубликат, но поскольку я ничего не мог получить из (возможно) похожих вопросов, вот мой: я работаю над небольшой программой 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, затем добавление 1 к num для каждого QLabel, а затем использование getattr для экземпляров. , поэтому getattr(self, var) = Qtgui.QLabel(...), что, к сожалению, выдает ошибку, что я не могу присвоить это значение функции. И я не могу создать словарь, так как для этого мне нужны разные экземпляры.
Любые идеи будут высоко оценены, большое спасибо.