Перечислите все доступные блоки.NET

Вам придется вставить пустую строку в столбцы, которые вы не хотите заполнять.

И вы можете использовать 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()
11
задан starblue 25 April 2009 в 09:06
поделиться

2 ответа

В первую очередь, существует важное различие между ссылочными блоками и блоками в 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 для добавления ссылок на тех. И ищите весь диск для нахождения их сами.

9
ответ дан 3 December 2019 в 10:45
поделиться

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

От взглядов его он выглядит немного громоздким для пересечения каталога для нахождения всех.DLL файлов, но возможно это - то, что необходимо сделать.

-1
ответ дан 3 December 2019 в 10:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: