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.