Pierwsze kroki z graficznymi interfejsami użytkownika w Pythonie

Spisie treści

W tym samouczku zamierzamy umieścić Przykłady implementacji aplikacji GUI w Pythonie, istnieje wiele modułów do pracy z interfejsem graficznym, tutaj wybraliśmy Tkinter, ponieważ jest preinstalowany z Pythonem i pomoże nam zobaczyć, jak pracujemy w ten sposób, chociaż na końcu zobaczymy mały przykład PyQt .Name.

Możemy sprawdzić czy Tkinter moduł jest poprawnie zainstalowany za pomocą:

 pyton -m tkinter
NotatkaW Pythonie 2 będzie to pierwsza wielka litera t: Tkinter, ponieważ w Pythonie 3 została zmieniona.

Jeśli jest poprawnie zainstalowany, zobaczymy, że wyświetli się okno takie jak to poniżej:

Jeśli nie zobaczymy błędu, będzie to oznaczało, że nie może znaleźć tego modułu:

Aby zainstalować moduł w Pythonie 3 w dystrybucjach Debiana:

 sudo apt-get zainstaluj python3-tk
W przypadku innych wersji zobacz poniższy link. Samouczek koncentruje się na zrobieniu pierwszego wrażenia na temat pracy z GUI w Pythonie, jeśli jesteś nowy w tym temacie, to pomoże ci, jeśli szukasz zaawansowanych tematów, to nie jest właściwy samouczek.

NotatkaTutaj będziemy pracować z Pythonem 3, importujemy bibliotekę w następujący sposób:

 importuj tkinter
Jednak w Pythonie 2 musisz go zaimportować w następujący sposób, już mówiliśmy o zmianie jego nazwy:
 importuj Tkinter

Przykład zaczniemy od przykładu, zaczniemy od najłatwiejszego i skomplikujemy go na końcu.

Przykład 1
Stworzymy proste okno do tego napiszemy następujący kod:

 importuj okno tkinter = tkinter.Tk () okno = tkinter.mainloop ()
Pierwszą linią importujemy potrzebny moduł, kolejną tworzymy okno główne i jeśli usuniemy ostatnią instrukcję to okno nie będzie widoczne podczas wykonywania kodu. Wynik przykładu:

Ten przykład był bardzo długi, 3 linie… Przejdźmy do następnego.

Przykład 2
W tym przykładzie, który jest niewiele dłuższy od poprzedniego, stworzymy okno tak jak w przykładzie 1, ale nieco je skonfigurujemy, zmienimy kolor, rozmiar i tytuł.

 importuj tkinter jako tk window = tk.Tk () window.config (bg = "niebieski") window.geometry ("400x300") window.title ("Przykład2") window.mainloop ()
Pierwsza linia nadal importuje moduł tkinter, ale nadajemy mu alias, dzięki czemu możemy użyć krótszego słowa w kodzie. Stworzymy okno jak w poprzednim przykładzie. Kolejne 3 linie skonfigurują kolejno kolor, rozmiar i tytuł. Ostatnią linijkę już znamy. Wynik przykładu jest następujący:

Jak dotąd wszystko było bardzo proste, przejdźmy do kolejnych przykładów.

Przykład 3
Teraz stworzymy przycisk w głównym oknie, co też nas nie skomplikuje, zobaczmy kod:

 importuj tkinter jako tk window = tk.Tk () window.geometry („200x150”) button = tk.Button (okno, tekst = „Testowanie”) button.grid (wiersz = 1, kolumna = 1) window.mainloop ()
Jedyne wiersze, które wymagają wyjaśnienia to:
 button = tk.Button (okno, tekst = "Testowanie") button.grid (wiersz = 1, kolumna = 1)
Pierwszy tworzy przycisk o nazwie Testing (przycisk) i przypisujemy go do okno, która jest zmienną naszego głównego okna. Drugi umieszcza przycisk w wierszu i kolumnie 1. Wykonanie pokaże nam co następuje:

Przycisk jest po prostu wyświetlany, nie działa, ponieważ nie obsługuje zdarzeń, zrobimy to w poniższym przykładzie.

Przykład 4
Teraz weźmiemy udział w wydarzeniu, aby otworzyć drugie okno, które nie będzie głównym, zobaczmy kod:

 importuj tkinter jako tk def open (): window2 = tk.Toplevel (okno) window = tk.Tk () window.geometry („200x150”) button = tk.Button (okno, tekst = „Otwórz”, polecenie = otwórz) button.grid (wiersz = 1, kolumna = 1) window.mainloop () 
Zobaczymy nowe wiersze, funkcja open będzie miała następującą instrukcję, która utworzy okno „potomne” głównego.
 okno2 = tk.Toplevel (okno)
I przycisk ma małą zmianę, zauważ Komenda, jest wykonanie funkcji, w tym przypadku wywołanie funkcji otwarty:
 przycisk = tk.Button (okno, tekst = „Otwórz”, polecenie = otwórz)
Przejdźmy do przykładu z klasą.

Przykład 5
To ostatni przykład tkintera i będzie najdłuższy, stworzymy klasę do robienia czegoś innego. To, co zrobimy, to małe okienko, którego nie można zmienić, będzie miało etykietę tekstową i przycisk, za każdym razem, gdy naciśniemy przycisk, liczba się zwiększy. Przejdźmy do kodu:

 importuj tkinter jako tk class Application (): counter = 1 def __init __ (self): self.window = tk.Tk () self.window.geometry („300x60”) self.window.title („Przykład 5”) self window.resizable (width = False, height = False) self.createButton () self.createLabel () self.window.mainloop () def createButton (self): self.button = tk.Button (self.window, text = " Increase", polecenie = self.increase) self.button.pack () def createLabel (self): self.tag = tk.Label (self.window, text = "0", fg = "blue") self.tag .pack (pady = 10) def wzrost (self): self.tag ["text"] = self.counter self.counter + = 1 app = Application () 
W funkcji __w tym__ stworzymy okno i je skonfigurujemy, oprócz wywoływania funkcji przycisk tworzenia Tak utwórz etykietę abyśmy uwierzyli w te elementy. Jeśli widzieliśmy poprzednie przykłady, ten nie powinien generować komplikacji ani wątpliwości. Przy uruchamianiu programu mamy okno z numerem 0:

Jeśli klikniemy w przycisk liczba wzrasta, np. po kliknięciu 25 razy mamy:

W tym samouczku widzieliśmy podstawy modułu tkinter, będziesz mógł stworzyć o wiele więcej rzeczy, jeśli jesteś zainteresowany pogłębieniem tutaj, masz link do oficjalnej strony Pythona, gdzie mówią o tkinter.

Masz inne biblioteki w Pythonie, za pomocą których możesz programować interfejsy graficzne, jak wspomniano na początku, niektóre z nich to:

  • PyGTK
  • wxPython
  • PyQT

Abyś mógł trochę porównać tkinter z innym modułem, podamy przykład PyQt.

Przykład z PyQT
Aby uruchomić ten przykład musisz zainstalować bibliotekę, możesz odwiedzić link, który umieściliśmy powyżej. Stworzymy okno o wymiarach 275x200 i tytule Przykład PyQt4. Pojawi się również w pozycji 300x300

 import sys z PyQt4 import QtGui application = QtGui.QApplication (sys.argv) window = QtGui.QWidget () window.resize (275, 200) window.move (300, 300) window.setWindowTitle (Przykład PyQt4). show () sys.exit (aplikacja.exec_ ()) 
Jeśli wykonamy kod, otrzymamy następujący wynik:

Nic skomplikowanego, jak to zaobserwowano przez cały tutorial, moglibyśmy dalej dodawać przykłady, bo jest wiele do poruszenia, ale już wstępem przygotowuje do ćwiczenia tworzenia własnych przykładów, dodawania innych elementów, takich jak listy, pola tekstu, gdzie pisać itp.

Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave