Kontrolka Combobox w tkinter

Stronę tą wyświetlono już: 243 razy

Kontrolka Combobox została zaliczona przeze mnie do niestandardowych, ponieważ umieszczono ją w module ttk znajdującym się w module głównym tkinter. Z tego też względu omawiam ją mniej więcej tutaj. Oto prosty kod pokazujący, jak można korzystać z tej przydatnej kontrolki:

Listing 1
  1. import tkinter as tk
  2. import tkinter.ttk as ttk
  3. import tkinter.messagebox as msb
  4. class Application:
  5. def __init__(self):
  6. self.window = tk.Tk()
  7. self.cb_value = tk.StringVar() # zmienna typu StringVar, która zostanie podpięta pod kontrolkę Combobox
  8. self.combobox = ttk.Combobox(self.window, textvariable = self.cb_value) # tworzenie kontrolki Combobox
  9. self.combobox.place(x = 0, y = 0) # umieszczenie kontrolki na oknie głównym
  10. self.combobox['values'] = ('Polska', 'Wielka Brytania', 'USA') # ustawienie elementów zawartych na liście rozwijanej
  11. self.combobox.current(0) # ustawienie domyślnego indeksu zaznaczenia
  12. self.combobox.bind("<<ComboboxSelected>>", self.on_select_changed) # podpięcie metody pod zdarzenie zmiany zaznaczenia
  13. self.window.mainloop()
  14. def on_select_changed(self, event):
  15. msb.showinfo("Info", self.cb_value.get())
  16. apl = Application()

Widok programu z kontrolką Combobox można zobaczyć poniżej.

Kontrolka Combobox z modułu tkinter języka programowania Python w akcji
Rys. 1
Kontrolka Combobox w akcji

Komentarze