Вам придется вставить пустую строку в столбцы, которые вы не хотите заполнять.
И вы можете использовать in
для проверки нужного вам персонажа в self.scan_entry.get()
:
from tkinter import *
import tkinter.ttk as ttk
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 = ttk.Button(master, text="Close", command=lambda:print('want to close app'))
self.close_button.pack(anchor='se')
def parseEntry(self,event):
#self.scan_entry.delete(0,'end')
self.data_view.insert('',END,values=('',self.scan_entry.get(),'','','','','',''))
#If contains certain characters, maybe insert into Source or Destination
if 'a' in self.scan_entry.get():
self.data_view.insert('',END,values=('','','','','',self.scan_entry.get(),self.scan_entry.get(),''))
if __name__=='__main__':
master=Tk()
maingui=MainGUI(master)
master.mainloop()
В первую очередь, существует важное различие между ссылочными блоками и блоками в GAC. Для компиляции кода Вам нужен ссылочный блок. Для выполнения кода Вам нужны или копия блока в той же папке как Ваш .exe или в блок в GAC.
Обычно, когда Вы устанавливаете приложение.NET, его установщик скопирует блоки, которые оно использует в GAC. Те блоки не применимы как ссылочные блоки, Вы не можете узнать, в какой папке это хранится так, Вы не можете сказать компилятору собственное значение его / ссылочного параметра командной строки. Ну, можно узнать, но Microsoft пыталась сделать его максимально трудно с дополнением оболочки.
Что-то другое происходит, когда Вы устанавливаете приложение.NET, которое позволяет Вам использовать его блоки в своей собственной программе. Как платформа.NET. Это сделает две копии из каждого блока. Каждый идет в GAC, других движениях в "известном" месте. Для платформы.NET эти известные местоположения являются c:\windows\microsoft.net\ и c:\program files\reference assemblies. Последняя папка начала привыкать.NET 3.0 и.
Visual Studio Добавляет, что Ссылочное диалоговое окно использует ключ реестра, который перечисляет эти известные местоположения. Существует пара, но важный HKLM\Software\Microsoft\.NETFramework\AssemblyFolders
.
Длинная короткая история: Вы могли использовать тот ключ реестра для создания того же списка, который производит Добавить Ссылочное диалоговое окно. Но это не на 100% надежно, Вы могли бы пропустить ссылочные блоки, которые некоторый продукт скопировал где-то в другом месте. Необходимо было бы использовать вкладку Browse в VS для добавления ссылок на тех. И ищите весь диск для нахождения их сами.
Единственная информация, которую я нашел ранее о той же проблеме, является этим, но я никогда не двигался для использования той информации.
От взглядов его он выглядит немного громоздким для пересечения каталога для нахождения всех.DLL файлов, но возможно это - то, что необходимо сделать.