class FilterBox(ttk.Frame): def __init__(self, parent, *args, **kwargs): ttk.Frame.__init__(self, parent, *args, **kwargs) self.search_type = tk.StringVar() self.search_string = tk.StringVar() self.search_type.set("both") self.label = ttk.Label(self, text="Search:") self.entry = SearchBox(self, textvariable=self.search_string, width=40) self.radio1 = ttk.Radiobutton(self, text="Name only", value="name", variable=self.search_type) self.radio2 = ttk.Radiobutton(self, text="Name and Documentation", value="both", variable=self.search_type) self.entry.pack(side="left", expand=False, padx=4) self.radio1.pack(side="left", padx=(0,8)) self.radio2.pack(side="left", padx=(0,8)) self.search_string.trace("w", self._on_search) self.search_type.trace("w", self._on_type) def set_focus(self): self.entry.focus() def _on_type(self, *args): self.event_generate("<<Search>>") def get_type(self): return self.search_type.get() def get_string(self): return self.search_string.get() def _on_search(self, *args): self.event_generate("<<Search>>")
def __init__(self, parent, *args, **kwargs): ttk.Frame.__init__(self, parent, *args, **kwargs) self.search_type = tk.StringVar() self.search_string = tk.StringVar() self.search_type.set("both") self.label = ttk.Label(self, text="Search:") self.entry = SearchBox(self, textvariable=self.search_string, width=40) self.radio1 = ttk.Radiobutton(self, text="Name only", value="name", variable=self.search_type) self.radio2 = ttk.Radiobutton(self, text="Name and Documentation", value="both", variable=self.search_type) self.entry.pack(side="left", expand=False, padx=4) self.radio1.pack(side="left", padx=(0,8)) self.radio2.pack(side="left", padx=(0,8)) self.search_string.trace("w", self._on_search) self.search_type.trace("w", self._on_type)