Zainstaluj niezbędne pakiety
Aby utworzyć aplikację za pomocą Python 3 i GTK3, musisz zainstalować powiązania Python dla bibliotek Gobject. Można to zrobić, instalując pakiet PyGobject zawarty w repozytoriach prawie wszystkich głównych dystrybucji Linuksa. Aby zainstalować te zależności w Ubuntu, możesz użyć poniższego polecenia:
$ sudo apt instal Python3 Python3-giMożesz także skompilować PyGobject z kodu źródłowego dostępnego tutaj.
Pełny kod aplikacji Hello World
Pełna próbka kodu aplikacji Hello World napisana w Python 3 i GTK3 można znaleźć poniżej. Ta aplikacja wysyła „Hello World !!”Powiadomienie na komputerze przy kliknięciu przycisku.
Import GIZrzut ekranu końcowego wyniku.
Powiadomienie komputerowe, które pojawia się po kliknięciu przycisku „kliknij tutaj”:
Wyjaśnienie krok po kroku
Różne instrukcje „importu” w pierwszych kilku wierszach kodu importuj niezbędne moduły wymagane do pracy aplikacji. Te moduły ujawniają wiele klas i funkcji, które można użyć w aplikacji. "Żołnierz amerykański.Wymaganie_wersji ”Instrukcje upewniają się, że tylko wymagana wersja biblioteki jest importowana, aby uniknąć problemów i awarii kompatybilności. W tym przypadku „3.0 ”służy do upewnienia się, że biblioteka GTK3 jest używana w aplikacji, a nie GTK2 lub jakakolwiek inna wersja GTK.
Podobnie jak klasa GTK, klasa powiadomienia jest również importowana poprzez określenie jej wymaganej wersji (0.7 jest najnowszą wersją w momencie pisania tego artykułu). Ta klasa zostanie użyta w dalszej części aplikacji.
Import GINastępne podklasy „GTK.Klasa okna jako klasa „myWindow”. „GTK.Okno.__init__ ”Metoda inicjuje konstruktor super klasy (GTK.Okno), z którego utworzono podklasę (myWindow). W konstruktorze tytuł aplikacji jest również ustalany jako „Hello World” przy użyciu argumentu „Tytuł”. Domyślna geometria okna aplikacji jest również ustawiana poprzez określenie szerokości i wysokości w metodzie „set_default_size”.
klasa myWindow (GTK.Okno):Następnie metoda „init” klasy Powiadomienia służy do zainicjowania biblioteki „libnotify” poprzez dostarczanie tytułu aplikacji. Bez inicjalizacji powiadomienia nie zostaną wysłane i pokazane na pulpicie Linux.
Notyfikować.init („prosta aplikacja GTK3”)Instrukcja „Box” dodaje pusty kontener układu do głównego okna aplikacji. Ten pojemnik jest jak puste płótno, w którym można zakładać dowolną liczbę widżetów. „Odstępy” odnosi się do przestrzeni między widżetami w jednostkach „pikselowych”.
samego siebie.Box = GTK.Pudełko (odstępy = 6)Nowy widżet przycisku „Kliknij tutaj” jest tworzony za pomocą „GTK.Metoda przycisku ”. Następnie jest wyrównany do poziomych i pionowych centrów układu pola nadrzędnego za pomocą metod „set_halign” i „set_valign”. Przycisk jest podłączony do sygnału „klikniętego”, aby za każdym razem naciśnięto przycisk, można wywołać metodę wywołania zwrotnego „On_Button_Clicked”. Na koniec widżet przycisku jest wstawiany od lewej wzdłuż osi poziomej do układu pudełka za pomocą „pudełka.Metoda Pack_Start ”. Ta metoda przyjmuje cztery argumenty: obiekt widżetu, który ma zostać dodany, boolean do rozszerzenia widżetu, boolean do wypełnienia widżetu i wyściółka między dodanymi i innymi sąsiadującymi widżetami.
samego siebie.Button = GTK.Przycisk (etykieta = "kliknij tutaj")Metoda „on_button_click” jest wywoływana za każdym razem, gdy naciska się przycisk „Kliknij tutaj”. Nowe powiadomienie powstaje przy użyciu metody „nowej”, która przyjmuje tytuł i treść powiadomień jako argumenty. To powiadomienie jest następnie wyświetlane na pulpicie za pomocą metody „pokaż”. Możesz także przesunąć instrukcję „nową” w głównym konstruktorze, aby uniknąć odtwarzania powiadomienia za każdym razem, gdy naciśnięty jest przycisk.
def on_button_clicked (self, widget):Kilka kolejnych stwierdzeń dotyczy tworzenia, zarządzania i wyświetlania nowego okna aplikacji. Utworzona jest nowa instancja klasy „MyWindow” i jest ona podłączona do sygnału „zniszczenia”, aby zapewnić, że aplikacja jest poprawnie zamknięta, gdy użytkownik zdecyduje się rzucić aplikację, klikając przycisk „X”. Metoda „show_all” wyświetla okno aplikacji na pulpicie Linux. Wreszcie, prowadzona jest główna pętla aplikacji odpowiedzialna za obsługę zdarzeń i sygnałów.
Wniosek
GTK3 i QT to jedne z najpopularniejszych ram GUI używanych do tworzenia aplikacji, które działają natywnie na Linux. Oba te frameworki pozwalają pisać główną logikę w językach C ++ i Python. Nie możesz się pomylić, wybierając którykolwiek z tych zestawów narzędzi do następnego projektu aplikacji Linux.