Stronę tą wyświetlono już: 11640 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:
import tkinter as tk
import tkinter.ttk as ttk
import tkinter.messagebox as msb
class Application:
def __init__(self):
self.window = tk.Tk()
self.cb_value = tk.StringVar() # zmienna typu StringVar, która zostanie podpięta pod kontrolkę Combobox
self.combobox = ttk.Combobox(self.window, textvariable = self.cb_value) # tworzenie kontrolki Combobox
self.combobox.place(x = 0, y = 0) # umieszczenie kontrolki na oknie głównym
self.combobox['values'] = ('Polska', 'Wielka Brytania', 'USA') # ustawienie elementów zawartych na liście rozwijanej
self.combobox.current(0) # ustawienie domyślnego indeksu zaznaczenia
self.combobox.bind("<<ComboboxSelected>>", self.on_select_changed) # podpięcie metody pod zdarzenie zmiany zaznaczenia
self.window.mainloop()
def on_select_changed(self, event):
msb.showinfo("Info", self.cb_value.get())
apl = Application()
Widok programu z kontrolką Combobox można zobaczyć poniżej.

Rys. 1
Kontrolka Combobox w akcji