示例#1
0
class SearchView(Frame):
    def __init__(self, master, *args, **kw):
        super().__init__(master, *args, **kw)
        # Configure Widget:
        self.grid_propagate(0)
        self.rowconfigure(1, weight=1)
        self.columnconfigure(0, weight=1)
        self.grid(sticky=tkSticky.fill)

        # Create Subwidgets:
        self.treeview = Treeview(self)
        self.searchbar = SearchBar(self)
        self.treeview.grid(row=1, sticky=tkSticky.fill)
        self.searchbar.grid(row=0, sticky=tkSticky.fill)

        # Bind additional keys between widgets:
        self.setBindings()

    def hideSearchBar(self):
        self.searchbar.grid_remove()

    def showSearchBar(self):
        self.searchbar.grid()

    def setBindings(self):
        def handler(event):
            self.searchbar.cancelButton.invoke()

        self.treeview.bind(tkEvent.key.escape, handler)

        find = tkEvent.find
        self.searchbar.bind(tkEvent)