|
Server IP : 185.61.154.36 / Your IP : 216.73.216.44 Web Server : Apache System : Linux host67.registrar-servers.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64 User : gettoplisting ( 12043) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/../usr/lib64/lua/../python2.7/pydoc_data/../pydoc_data/../Demo/tkinter/ttk/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
"""Ttk Theme Selector.
Although it is a theme selector, you won't notice many changes since
there is only a combobox and a frame around.
"""
import ttk
class App(ttk.Frame):
def __init__(self):
ttk.Frame.__init__(self)
self.style = ttk.Style()
self._setup_widgets()
def _change_theme(self, event):
if event.widget.current(): # value #0 is not a theme
newtheme = event.widget.get()
# change to the new theme and refresh all the widgets
self.style.theme_use(newtheme)
def _setup_widgets(self):
themes = list(self.style.theme_names())
themes.insert(0, "Pick a theme")
# Create a readonly Combobox which will display 4 values at max,
# which will cause it to create a scrollbar if there are more
# than 4 values in total.
themes_combo = ttk.Combobox(self, values=themes, state="readonly",
height=4)
themes_combo.set(themes[0]) # sets the combobox value to "Pick a theme"
# Combobox widget generates a <<ComboboxSelected>> virtual event
# when the user selects an element. This event is generated after
# the listbox is unposted (after you select an item, the combobox's
# listbox disappears, then it is said that listbox is now unposted).
themes_combo.bind("<<ComboboxSelected>>", self._change_theme)
themes_combo.pack(fill='x')
self.pack(fill='both', expand=1)
def main():
app = App()
app.master.title("Ttk Combobox")
app.mainloop()
if __name__ == "__main__":
main()