Не понимаю этого tkinter.TclError - PullRequest
0 голосов
/ 21 марта 2019

Я не могу установить (обновить) столбец, который я ранее создал, до значения из функции, которая вызывается, когда я нажимаю кнопку, он говорит, что элемент не найден.

curItem = tree.focus()
contents =(tree.item(curItem))
selecteditem = contents['values']
tree.get_children(curItem)
Database()
cursor.execute("SELECT SUM(PRODUCT_QTY) FROM `product` WHERE `product_id` = %d" % selecteditem[0])
fetch = cursor.fetchall()
for data in fetch:
   # d = tree.item(data)
    tree.set(selecteditem, 3, data)
    a = data
conn.commit()
cursor.close()
conn.close()

Ошибка и трассировка:

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\.\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py",
     line 1705, in __call__ return self.func(*args)
File "c:\Users\.\Desktop\Simple_Inventory PYTHON\Simple Inventory System\index.py",
      line 268, in calculate tree.set(selecteditem, 2, data)
File "C:\Users\.\AppData\Local\Programs\Python\Python37-32\lib\tkinter\ttk.py",
      line 1482, in set res = self.tk.call(self._w, "set", item, column, value)
      _tkinter.TclError: Item 8 e 3 4 not found

ПРИМЕЧАНИЕ: 8 - это идентификатор товара, e название, 3 и 4 - цена и количество (фиктивные значения)

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Для тех, кто может бороться с той же проблемой, просто исправив curItem вместо selectedItem[0] в параметрах tree.set().Просто поместите туда целевую переменную дерева.

0 голосов
/ 21 марта 2019

Вы устанавливаете selecteditem для некоторых значений .Аргументом tree.set должен быть идентификатор .Как говорит ошибка, в дереве нет ничего с идентификатором 8 e 3 4.

Идентификатор будет тем, что возвращается, когда вы позвонили tree.insert.Это будет либо идентификатор, вычисленный для вас в форме «IXXX» (например: I001), либо как вы указали при вызове tree.insert.

Поскольку вы не показали, как создавали элементы в дереве, трудно сказать, какое значение должно быть.Возможно, будет достаточно использовать curItem, но из крошечного фрагмента кода, который вы предоставили, трудно сказать наверняка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...