Я пытаюсь заставить эту функцию создать метку и 2 кнопки соответственно, и каждый раз, когда эта функция вызывается, 3 виджеты будут создаваться в следующей строке (непосредственно под предыдущими 3 виджетами).
Однако я не уверен, почему элементы продолжают создаваться в одной и той же строке (фактически перекрывая одну и ту же при вызове функции), несмотря на увеличение счетчика.
def fetch_quick(self, entries):
for entry in entries:
text = entry[1].get()
print(text)
exec("app._framea" + str(self._qqq+7) + "= tk.Frame(app._master, bg='white')")
exec("app._framea" + str(self._qqq+7) + ".grid(row=" + str(self._qqq+6) + ")")
exec("self.queue_entry_quick" + str(self._qqq) + " = Label(app._framea" + str(self._qqq+7) + ", text='1 '+text +' 0 a few seconds ago')")
exec("self.queue_entry_quick" + str(self._qqq) + ".grid(row=" + str(self._qqq) + ")")
exec("self._Button" + str(self._qqq) + " = Button(app._framea" + str(self._qqq+7) + ", text = self._qqq, width = 2, command=app._framea" + str(self._qqq+7) + ".destroy, bg='red')")
exec("self._Buttonb" + str(self._qqq) + " = Button(app._framea" + str(self._qqq+7) + ", text = self._qqq, width = 2, command=app._framea" + str(self._qqq+7) + ".destroy, bg='green')")
exec("self._Button" + str(self._qqq) + ".grid(row=" + str(self._qqq) + ", column=1)")
exec("self._Button" + str(self._qqq) + ".bind('<Button-1>',self.call)")
exec("self._Buttonb" + str(self._qqq) + ".grid(row=" + str(self._qqq) + ", column=2)")
exec("self._Buttonb" + str(self._qqq) + ".bind('<Button-1>',self.call)")
abcd.append(text)
self._qqq += 1
print(self._qqq)
Я думаю, что это может быть связано с тем, что местоположение создания виджетов (в сетке) предварительно установлено на строку 0 для всех виджетов, и поэтому оно не будет обновлять self._qqq для каждогораз функция вызывается.Если это так, я все еще не уверен, что с этим делать