„Python“

Kaip sukurti paprastą programą „Python“ ir „GTK3“

Kaip sukurti paprastą programą „Python“ ir „GTK3“
Šiame straipsnyje bus paaiškinta, kaip sukurti grafinę „Hello World“ programą sistemoje „Linux“ naudojant „Python 3“ programavimo kalbą ir „GTK3“ GUI sistemą. Visi mokymo programos kodų pavyzdžiai yra išbandomi naudojant „Python 3“.8.6 ir GTK 3.24.23 „Ubuntu 20“.10.

Įdiekite būtinus paketus

Norėdami sukurti programą naudodami „Python 3“ ir „GTK3“, turite įdiegti „Python“ susiejimus „GObject“ bibliotekoms. Tai galima padaryti įdiegus „PyGObject“ paketą, esantį beveik visų pagrindinių „Linux“ paskirstymų saugyklose. Norėdami įdiegti šias priklausomybes „Ubuntu“, galite naudoti toliau pateiktą komandą:

$ sudo apt įdiekite python3 python3-gi

Taip pat galite sukompiliuoti PyGObject iš šaltinio kodo, kurį galite rasti čia.

Visas „Hello World“ programos kodas

Visą programos „Hello World“ kodą, parašytą „Python 3“ ir „GTK3“, galite rasti žemiau. Ši programa siunčia „Hello World !!Pranešimas darbalaukyje spustelėjus mygtuką.

importuoti gi
gi.reikalauti_version ("Gtk", "3.0 ")
gi.reikalauti_version ('Pranešti', '0.7 ')
nuo gi.saugyklos importas Gtk
nuo gi.saugyklos importas Pranešti
klasė „MyWindow“ (GTK.Langas):
def __init __ (savęs):
Gtk.Langas.__init __ (pats, pavadinimas = „Sveikas pasaulis“)
Gtk.Langas.set_default_size („self“, 640, 480)
Pranešti.init („Paprasta GTK3 programa“)
savarankiškai.dėžutė = GTK.Dėžutė (tarpai = 6)
savarankiškai.pridėti (save.dėžė)
savarankiškai.mygtukas = Gtk.Mygtukas (etiketė = "Spustelėkite čia")
savarankiškai.mygtuką.set_halign (GTK.Lygiuoti.CENTRAS)
savarankiškai.mygtuką.set_valign (GTK.Lygiuoti.CENTRAS)
savarankiškai.mygtuką.prisijungti ("spustelėjo", savarankiškai.on_button_clicked)
savarankiškai.dėžė.pack_start (savarankiškai.mygtukas, tiesa, tiesa, 0)
def on_button_clicked (savarankiškai, valdikliui):
n = Pranešti.Pranešimas.nauja („Paprasta GTK3 programa“, „Sveikas pasaulis !!")
n.Rodyti()
laimėti = Mano langas ()
laimėti.prisijungti („sunaikinti“, Gtk.main_quit)
laimėti.Rodyti viską()
Gtk.pagrindinis ()

Galutinio rezultato ekrano kopija.

Darbalaukio pranešimas, gaunamas spustelėjus mygtuką „Spustelėkite čia“:

Žingsnis po žingsnio paaiškinimas

Įvairūs „importo“ sakiniai keliose pirmose kodo eilutėse importuoja būtinus modulius, reikalingus programai veikti. Šie moduliai atskleidžia daugybę klasių ir funkcijų, kurias galima naudoti programoje. „Gi.Reikalauti_version “sakiniai užtikrina, kad būtų importuojama tik reikalinga bibliotekos versija, kad būtų išvengta suderinamumo problemų ir strigčių. Šiuo atveju „3.0 “naudojama norint įsitikinti, kad programoje naudojama GTK3 biblioteka, o ne GTK2 ar bet kuri kita GTK versija.

Panašiai kaip GTK klasėje, „Notify“ klasė taip pat importuojama nurodant reikiamą jos versiją (0.7 yra naujausia versija šio straipsnio rašymo metu). Ši klasė bus naudojama vėliau programoje.

importuoti gi
gi.reikalauti_version ("Gtk", "3.0 ")
gi.reikalauti_version ('Pranešti', '0.7 ')
nuo gi.saugyklos importas Gtk
nuo gi.saugyklos importas Pranešti

Kitas teiginys paklasius „Gtk.Langas “klasė kaip„ MyWindow “klasė. „Gtk.Langas.__init__ “metodas inicijuoja super klasės konstruktorių (Gtk.Langas), iš kurio buvo sukurtas poklasis („MyWindow“). Konstruktoriuje programos pavadinimas taip pat nustatomas kaip „Labas pasaulis“, naudojant argumentą „pavadinimas“. Numatytoji programos lango geometrija taip pat nustatoma nurodant plotį ir aukštį metodu „set_default_size“.

klasė „MyWindow“ (GTK.Langas):
def __init __ (savęs):
Gtk.Langas.__init __ (self, title = "Sveikas pasaulis")
Gtk.Langas.set_default_size („self“, 640, 480)

Tada „Notify“ klasės „init“ metodas naudojamas inicijuojant „libnotify“ biblioteką pateikiant programos pavadinimą. Be inicijavimo pranešimai nebus siunčiami ir rodomi „Linux“ darbalaukyje.

Pranešti.init („Paprasta GTK3 programa“)

„Box“ sakinys prideda tuščią maketo talpyklą prie pagrindinio programos lango. Šis konteineris yra tarsi tuščia drobė, kurioje galima uždėti bet kokį valdiklių skaičių. „Tarpai“ reiškia tarpą tarp valdiklių „pikselių“ vienetuose.

savarankiškai.dėžutė = GTK.Dėžutė (tarpai = 6)
savarankiškai.pridėti (save.dėžė)

Naujas mygtukų valdiklis „Spustelėkite čia“ sukurtas naudojant „Gtk.Mygtukas “metodą. Tada jis sulygiuojamas su pagrindinio langelio išdėstymo horizontaliais ir vertikaliais centrais, naudojant metodus „set_halign“ ir „set_valign“. Mygtukas sujungtas su „spustelėjusiu“ signalu, kad kiekvieną kartą paspaudus mygtuką būtų galima pasinaudoti atgalinio skambinimo metodu „on_button_clicked“. Galiausiai mygtukų valdiklis įterpiamas iš kairės išilgai horizontalios ašies į langelio išdėstymą naudojant langelį.pack_start “metodą. Šiam metodui reikia keturių argumentų: valdiklio objektas, kurį reikia pridėti, loginis - valdikliui išplėsti, loginis - valdikliui užpildyti ir užpildymas tarp pridėtų ir kitų gretimų valdiklių.

savarankiškai.mygtukas = Gtk.Mygtukas (etiketė = "Spustelėkite čia")
savarankiškai.mygtuką.set_halign (GTK.Lygiuoti.CENTRAS)
savarankiškai.mygtuką.set_valign (GTK.Lygiuoti.CENTRAS)
savarankiškai.mygtuką.prisijungti ("spustelėjo", savarankiškai.on_button_clicked)
savarankiškai.dėžė.pack_start (savarankiškai.mygtukas, tiesa, tiesa, 0)

„On_button_click“ metodas yra naudojamas, kai paspaudžiamas mygtukas „Click Here“. Naujas pranešimas sukuriamas naudojant „naują“ metodą, kurio pranešimo pavadinimas ir turinys yra argumentai. Tada šis pranešimas rodomas darbalaukyje naudojant „rodymo“ metodą. Taip pat galite perkelti „naują“ sakinį pagrindiniame konstruktoriuje, kad išvengtumėte pranešimo atkūrimo, kai tik paspaudžiate mygtuką.

def on_button_clicked (savarankiškai, valdikliui):
n = Pranešti.Pranešimas.nauja („Paprasta GTK3 programa“, „Sveikas pasaulis !!")
n.Rodyti()

Kiti keli teiginiai yra apie naujo programos lango kūrimą, valdymą ir rodymą. Sukurtas naujas „MyWindow“ klasės egzempliorius ir jis prijungtas prie „sunaikinti“ signalo, kad programa būtų tinkamai uždaryta, kai tik vartotojas nusprendžia uždaryti programą spustelėdamas mygtuką „x“. Metodas „show_all“ parodo programos langą jūsų „Linux“ darbalaukyje. Galiausiai paleista pagrindinė programos kilpa, atsakinga už įvykių ir signalų tvarkymą.

Išvada

GTK3 ir Qt yra vieni iš populiariausių GUI karkasų, naudojami kuriant programas, kurios savaime veikia „Linux“. Abi šios sistemos leidžia rašyti pagrindinę logiką C ++ ir Python kalbomis. Negalite suklysti pasirinkdami bet kurį iš šių įrankių rinkinių kitam „Linux“ programos projektui.

„Tomb Raider for Linux“ pamoka
„Tomb Raider“ šešėlis yra dvyliktas „Tomb Raider“ serijos priedas - veiksmo ir nuotykių žaidimų franšizė, sukurta „Eidos Montreal“. Žaidimą kritikai i...
Kaip padidinti FPS sistemoje „Linux“?
FPS reiškia Kadrai per sekundę. FPS užduotis yra išmatuoti kadrų greitį atkuriant vaizdo įrašus ar žaidimus. Paprastais žodžiais, nepertraukiamų viso ...
Populiariausi „Oculus App Lab“ žaidimai
Jei esate „Oculus“ laisvų rankų įrangos savininkas, turite žinoti, kaip krauti iš šono. Šoninis įkėlimas yra ne parduotuvėje esančio turinio įdiegimas...