Tkinter ComboBox

Tkinter Combobox

Pakiet ttk, unikalna modyfikacja Pythona Tkinter, wprowadza ten dodatkowy komponent. Python Tkinter ComboBox pokazuje każdy wybór z rozwijanego menu 1 na chwilę. Ma nowoczesny wygląd, dzięki czemu nadaje się do miejsc, w których ekspozycja ma kluczowe znaczenie. Gadżet Entry jest zdolnością klasową Pythona ComboBox. W rezultacie dodaje kilka dodatkowych opcji i funkcji, jednocześnie dziedzicząc kilka z klasy Entry.

Kluczowym widżetem, który można zobaczyć w kilku programach, jest ComboBox. Użytkownik otrzymuje listę alternatyw do wyboru. Ma kilka wartości i w danej chwili wyświetla tylko jedną. Dzisiejszy samouczek obejmie sposób korzystania z ComboBox w systemie Linux za pomocą Tkinter.

Przykład 1:

Zacznijmy od pierwszego przykładu modułu Tkinter w Pythonie. Za pomocą konsoli terminala tworzymy nowy plik Pythona z rozszerzeniem „py”. Następnie możesz użyć dowolnego wybranego edytora, aby otworzyć nowo wygenerowany plik Pythona z eksploratora plików. Ten kod Pythona zaczynamy od importu biblioteki Tkinter w kodzie wraz ze wszystkimi jej podobiektami, klasami i wbudowanymi encjami.







Importujemy jego obiekt ttk do użycia w kodzie. Najpierw wywołujemy funkcję Tk() programu Tkinter, aby dodać nową wartość do obiektu „t”. Obiekt „t” służy do wywołania funkcji geometrii w celu stworzenia graficznego interfejsu użytkownika o wymiarach „200×150”. W tym pierwszym przykładzie używamy metody „frame()” Tkintera, aby utworzyć ramkę GUI na ekranie konsoli. Obiekt „f” ramki jest tutaj zamykany za pomocą funkcji Tkinter pack().



Następnie tworzymy listę „l” typów stringów zawierającą łącznie 5 wartości stringów. Następnie używamy obiektu ttk Tkinter do wywołania funkcji ComboBox Tkinter w ramce „f”. Jest do niego przekazywana lista „l”. Ten ComboBox jest zapisany w zmiennej „C”. Ustawiamy etykietę ComboBox za pomocą funkcji „set” i pakujemy ComboBox dokładnymi dopełnieniami. Teraz wykonujemy funkcję mainloop(), aby wykonać cały program Tkinter.







Po wykonaniu skryptu w Pythonie zapisujemy kod klawiszem Ctrl+S i wracamy do konsoli powłoki systemu Linux. Wypróbowujemy instrukcję Python3 w powłoce, a następnie nazwę pliku Pythona, aby wykonać plik, jak pokazano poniżej:

$ python3 test.py



Po wykonaniu zapytania na ekranie naszej konsoli otrzymujemy następujący graficzny interfejs użytkownika Tkinter o tytule „tk”. Ekran GUI zawiera comboBox, czyli listę rozwijaną z tytułem „Wybierz 1 kolor” i znakiem trójkąta, aby go otworzyć.

Po dotknięciu znaku trójkąta pojawia się długa lista rozwijana ze wszystkimi dostępnymi opcjami. Widać, że mamy do wyboru w sumie 5 opcji.

Załóżmy, że wybierasz kolor „Czarny” z rozwijanej listy. Zobaczysz, że wybrany kolor jest wyświetlany w obszarze tytułu rozwijanego ComboBox. Pozostała lista jest ukryta.

Przykład 2:

Rzućmy okiem na inny przykład wykorzystujący inną metodę tworzenia ComboBox w Tkinter. Dlatego zaczynamy ten kod Pythona od importu modułu Tkinter w tym samym pliku Pythona co „tk” wraz z importem jego klasy ttk. Następnie importujemy funkcję showinfo() z klasy okna komunikatów modułu Tkinter. Ponadto importujemy zmienną nazwa_miesiąca z modułu kalendarza Pythona.

Wywołujemy funkcję tk() z obiektem tk modułu Tkinter i zapisujemy wynik konstruktora w zmiennej „t”. Funkcja geometrii jest wywoływana z określonymi parametrami, aby utworzyć GUI Tkinter o określonym rozmiarze. Funkcja title() jest wywoływana z parametrem „Combobox Illustration”, aby zatytułować GUI Tkinter i funkcję Label z klasy ttk, aby utworzyć etykietę „l”. Funkcja pakowania służy do wypełnienia etykiety „l”. Zmienna „mn” jest tworzona za pomocą funkcji StringVar() klasy „tk”. ComboBox „mcb” jest tworzony przy użyciu funkcji ComboBox i zmiennej tekstu „mn”. ComboBox mcb jest wypełniony wartościami ciągów do 13 za pomocą zmiennej nazwa_miesiąca używanej w pętli „for”.

Stan dla ComboBox „mcb” jest ustawiony na tylko do odczytu i jest spakowany. Funkcja select() jest tworzona w celu wywołania funkcji showinfo() w celu utworzenia okna dialogowego alertu z tytułem „Potwierdzenie” i komunikatem „Wybrałeś {niezależnie od wartości}. Funkcja bind() jest wywoływana z ComboBoxem „mcb” przez dodanie parametrów „ComboboxSelected” i funkcji „change”. Funkcja mainloop() jest wykonywana w celu zapętlenia programu Tkinter. Zapiszmy to najpierw przed uruchomieniem.

Plik ten wykonujemy za pomocą zapytania python3.

$ pyton 3 test.py

Poniższy ekran Tkinter o nazwie „Ilustracja ComboBox” pojawia się w następujący sposób:

Kiedy klikniemy znak trójkąta ComboBox pod tytułem 'Wybierz miesiąc', pokazuje on nazwy miesiąca.

Gdy wybierzemy „Lipiec”, zostanie to pokazane na etykiecie i pojawi się alert dialogowy i komunikat. Naciśnij OK, aby kontynuować.

Wniosek

Chodzi o to, aby użyć modułu Tkinter w Pythonie do utworzenia comboBox w oknie GUI. W tym celu wypróbowaliśmy dwa proste, ale różne przykłady Pythona, aby osiągnąć cel za pomocą funkcji frame() i konwencjonalnego sposobu tworzenia comboBox w GUI. Wprowadziliśmy przykładowe kody dla obu instancji i wprowadziliśmy kilka zmian po wykonaniu kodów.