Kontrolka Combobox w tkinter

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 10746 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.

Kontrolka Combobox z modułu tkinter języka programowania Python w akcji
Rys. 1
Kontrolka Combobox w akcji
Propozycje książek