Python 3 - programowanie GUI (Tkinter)
Python zapewnia różne opcje tworzenia graficznych interfejsów użytkownika (GUI). Najważniejsze funkcje są wymienione poniżej.
Tkinter- Tkinter to interfejs Pythona do zestawu narzędzi Tk GUI dostarczanego z Pythonem. Szukalibyśmy tej opcji w tym rozdziale.
wxPython- To jest interfejs Pythona typu open source dla zestawu narzędzi wxWidgets GUI. Możesz znaleźć pełny samouczek dotyczący WxPython tutaj .
PyQt−Jest to także interfejs Pythona dla popularnej wieloplatformowej biblioteki Qt GUI. TutorialsPoint ma bardzo dobry tutorial PyQt tutaj .
JPython - JPython to port Pythona dla języka Java, który zapewnia skryptom języka Python bezproblemowy dostęp do bibliotek klas Java na komputerze lokalnym http://www.jython.org.
Dostępnych jest wiele innych interfejsów, które można znaleźć w sieci.
Programowanie Tkinter
Tkinter to standardowa biblioteka GUI dla Pythona. Python w połączeniu z Tkinter zapewnia szybki i łatwy sposób tworzenia aplikacji GUI. Tkinter zapewnia potężny, zorientowany obiektowo interfejs do zestawu narzędzi Tk GUI.
Tworzenie aplikacji GUI za pomocą Tkinter jest łatwym zadaniem. Wszystko, co musisz zrobić, to wykonać następujące kroki -
Zaimportuj moduł Tkinter .
Utwórz główne okno aplikacji GUI.
Dodaj jeden lub więcej z wyżej wymienionych widżetów do aplikacji GUI.
Wprowadź główną pętlę zdarzeń, aby podjąć działanie przeciwko każdemu zdarzeniu wyzwalanemu przez użytkownika.
Przykład
#!/usr/bin/python3
import tkinter # note that module name has changed from Tkinter in Python 2 to tkinter in Python 3
top = tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
Spowoduje to utworzenie następującego okna -
Tkinter Widgets
Tkinter zapewnia różne elementy sterujące, takie jak przyciski, etykiety i pola tekstowe używane w aplikacji GUI. Te elementy sterujące są powszechnie nazywane widżetami.
Obecnie w Tkinter jest dostępnych 15 typów widżetów. Przedstawiamy te widgety, a także krótki opis w poniższej tabeli -
Sr.No. | Operator i opis |
---|---|
1 | Przycisk Widżet Przycisk służy do wyświetlania przycisków w aplikacji. |
2 | Brezentowy Widżet Canvas służy do rysowania w aplikacji kształtów, takich jak linie, owale, wielokąty i prostokąty. |
3 | Checkbutton Widżet Checkbutton służy do wyświetlania wielu opcji jako pól wyboru. Użytkownik może jednocześnie wybrać wiele opcji. |
4 | Wejście Widget Wejście służy do wyświetlania jednowierszowego pola tekstowego służącego do akceptowania wartości od użytkownika. |
5 | Rama Widżet Ramka jest używany jako widget kontenera do organizowania innych widgetów. |
6 | Etykieta Widżet Etykieta służy do zapewniania jednowierszowego podpisu dla innych widżetów. Może również zawierać obrazy. |
7 | Skrzynka na listy Widget Listbox służy do udostępniania użytkownikowi listy opcji. |
8 | Przycisk MENU Widget Menubutton służy do wyświetlania menu w aplikacji. |
9 | Menu Widżet Menu służy do dostarczania użytkownikowi różnych poleceń. Te polecenia są zawarte w Menubutton. |
10 | Wiadomość Widget Wiadomość służy do wyświetlania wielowierszowych pól tekstowych służących do akceptowania wartości od użytkownika. |
11 | Przycisk radiowy Widget Radiobutton służy do wyświetlania wielu opcji jako przycisków radiowych. Użytkownik może wybrać tylko jedną opcję naraz. |
12 | Skala Widżet Skala służy do udostępniania widgetu suwaka. |
13 | Pasek przewijania Widżet Pasek przewijania służy do dodawania możliwości przewijania do różnych widżetów, takich jak pola list. |
14 | Tekst Widżet Tekst służy do wyświetlania tekstu w wielu wierszach. |
15 | Najwyższy poziom Widżet najwyższego poziomu służy do udostępniania osobnego kontenera okna. |
16 | Spinbox Widżet Spinbox jest wariantem standardowego widżetu Tkinter Entry, którego można używać do wybierania spośród ustalonej liczby wartości. |
17 | PanedWindow PanedWindow to widget kontenera, który może zawierać dowolną liczbę paneli ułożonych poziomo lub pionowo. |
18 | LabelFrame Labelframe to prosty widget kontenera. Jego głównym celem jest działanie jako przekładka lub kontener dla złożonych układów okien. |
19 | tkMessageBox Ten moduł służy do wyświetlania okienek wiadomości w twoich aplikacjach. |
Atrybuty standardowe
Przyjrzyjmy się, jak określono niektóre z ich wspólnych atrybutów, takich jak rozmiary, kolory i czcionki.
Dimensions
Colors
Fonts
Anchors
Style reliefowe
Bitmaps
Cursors
Zarządzanie geometrią
Wszystkie widżety Tkinter mają dostęp do określonych metod zarządzania geometrią, których celem jest organizowanie widżetów w obszarze nadrzędnym widżetów. Tkinter ujawnia następujące klasy menedżerów geometrii: opakowanie, siatka i miejsce.
Metoda pack () - ten menedżer geometrii organizuje widżety w bloki przed umieszczeniem ich w widgecie nadrzędnym.
Metoda grid () - ten menedżer geometrii organizuje widżety w strukturze tabeli w widgecie nadrzędnym.
Metoda place () - ten menedżer geometrii organizuje widżety, umieszczając je w określonej pozycji w widgecie nadrzędnym.