Я хотел бы вставить данные в определенный столбец моего виджета ttk treeview. Вход только для пользователей - это сканер, поэтому мне нужно проанализировать каждый код, чтобы определить, в какой столбец он входит. Прямо сейчас, функция parseData()
запускается при нажатии Enter , поэтому я бы хотел позаботиться о вставке туда.
Я пытался использовать treeview.set(item, column, new_value)
, но он падает при вставке в пустую строку.
class MainGUI:
def __init__(self, master):
self.master = master
self.data_view = ttk.Treeview(master)
self.data_view['columns'] = ["Date", "Item 1", "Item 2", "Item 3", "Item 4", "Source", "Destination", "Cart #",]
self.data_view['show'] = 'headings'
self.data_view.heading("Date", text="Date")
self.data_view.heading("Item 1", text="Item 1")
self.data_view.heading("Item 2", text="Item 2")
self.data_view.heading("Item 3", text="Item 3")
self.data_view.heading("Item 4", text="Item 4")
self.data_view.heading("Source", text="Source")
self.data_view.heading("Destination", text="Destination")
self.data_view.heading("Cart #", text="Cart #")
self.data_view.pack()
self.scan_entry = ttk.Entry(master)
self.scan_entry.pack()
self.scan_entry.bind('<Return>', self.parseEntry)
self.scan_entry.focus()
self.close_button = tk.Button(master, text="Close", command=self.adminLogout, width=15, height=5)
self.close_button.pack(anchor='se')
def parseEntry(self,event):
#INSERT self.scan_entry.get() into #ITEM 1 column, not date volumn
#If contains certain characters, maybe insert into Source or Destination
self.scan_entry.delete(0,'end')
В идеале я хотел бы иметь возможность вставить в пустое дерево любой столбец или в некоторых случаях захватить то, что выбрано, а затем изменить значение на основе ввода.