Python

Kā izveidot vienkāršu lietojumprogrammu Python un GTK3

Kā izveidot vienkāršu lietojumprogrammu Python un GTK3
Šajā rakstā tiks paskaidrots, kā izveidot grafisku “Hello World” lietojumprogrammu Linux, izmantojot Python 3 programmēšanas valodu un GTK3 GUI ietvaru. Visi apmācības koda paraugi tiek pārbaudīti ar Python 3.8.6 un GTK 3.24.23 Ubuntu 20.10.

Instalējiet nepieciešamās paketes

Lai izveidotu lietotni, izmantojot Python 3 un GTK3, jāinstalē Python saistījumi GObject bibliotēkām. To var izdarīt, instalējot PyGObject pakotni, kas iekļauta gandrīz visu lielāko Linux izplatīšanas krātuvēs. Lai instalētu šīs atkarības Ubuntu, varat izmantot tālāk norādīto komandu:

$ sudo apt instalējiet python3 python3-gi

Jūs varat arī apkopot PyGObject no avota koda, kas pieejams šeit.

Lietotnes Hello World pilns kods

Pilns programmas Hello World koda paraugs, kas rakstīts Python 3 un GTK3, ir atrodams zemāk. Šis pieteikums nosūta “Hello World !!”Paziņojums darbvirsmai, noklikšķinot uz pogas.

importa gi
gi.pieprasīt_version ("Gtk", "3.0 ")
gi.pieprasīt_version ('Paziņot', '0.7 ')
no gi.repozitorija imports Gtk
no gi.repozitorija imports Paziņot
klase MyWindow (GTK.Logs):
def __init __ (pats):
Gtk.Logs.__init __ (self, title = "Sveika pasaule")
Gtk.Logs.set_default_size (self, 640, 480)
Paziņot.init ("Vienkārša GTK3 lietojumprogramma")
pats.lodziņš = Gtk.Aile (atstarpe = 6)
pats.pievienot (sevi.kaste)
pats.poga = GTK.Poga (label = "Noklikšķiniet šeit")
pats.pogu.set_halign (GTK.Izlīdzināt.CENTRS)
pats.pogu.set_valign (GTK.Izlīdzināt.CENTRS)
pats.pogu.savienot ("noklikšķinājis", pats.on_button_clicked)
pats.lodziņā.pack_start (pats.poga, True, True, 0)
def on_button_clicked (pats, logrīks):
n = Paziņot.Paziņošana.jauns ("Vienkāršā GTK3 lietojumprogramma", "Sveika pasaule !!")
n.rādīt ()
win = MyWindow ()
uzvarēt.savienot ("iznīcināt", Gtk.main_quit)
uzvarēt.parādīt visu()
Gtk.galvenais ()

Galarezultāta ekrānuzņēmums.

Darbvirsmas paziņojums, kas tiek saņemts, noklikšķinot uz pogas “Noklikšķiniet šeit”:

Soli pa solim skaidrojums

Dažādi “importēšanas” priekšraksti pirmajās koda rindās importē nepieciešamos moduļus, kas nepieciešami lietojumprogrammas darbībai. Šie moduļi parāda daudzas klases un funkcijas, kuras var izmantot lietojumprogrammā. “Gi.pieprasījums_version ”nodrošina, ka tiek importēta tikai nepieciešamā bibliotēkas versija, lai izvairītos no saderības problēmām un avārijām. Šajā gadījumā “3.0 ”tiek izmantots, lai pārliecinātos, ka lietojumprogrammā tiek izmantota GTK3 bibliotēka, nevis GTK2 vai jebkura cita GTK versija.

Līdzīgi kā GTK klasē, arī Notify klase tiek importēta, norādot tās nepieciešamo versiju (0.7 ir šī jaunākā versija šī raksta rakstīšanas laikā). Šī klase tiks izmantota vēlāk lietojumprogrammā.

importa gi
gi.pieprasīt_version ("Gtk", "3.0 ")
gi.pieprasīt_version ('Paziņot', '0.7 ')
no gi.repozitorija imports Gtk
no gi.repozitorija imports Paziņot

Nākamais paziņojums apakšklasēs “Gtk.Logu ”klase kā“ MyWindow ”klase. “Gtk.Logs.__init__ ”metode inicializē superklases konstruktoru (Gtk.Window), no kura tika izveidota apakšklase (MyWindow). Konstruktorā lietojumprogrammas nosaukums ir iestatīts arī kā “Hello World”, izmantojot argumentu “title”. Lietojumprogrammas loga noklusējuma ģeometrija tiek iestatīta, arī metodē “set_default_size” norādot platumu un augstumu.

klase MyWindow (GTK.Logs):
def __init __ (pats):
Gtk.Logs.__init __ (self, title = "Sveika pasaule")
Gtk.Logs.set_default_size (self, 640, 480)

Pēc tam klases “Notify” metodi “init” izmanto, lai inicializētu bibliotēku “libnotify”, piegādājot lietojumprogrammas nosaukumu. Bez inicializācijas paziņojumi netiks nosūtīti un parādīti Linux darbvirsmā.

Paziņot.init ("Vienkārša GTK3 lietojumprogramma")

Izraksts “box” galvenajam lietojumprogrammas logam pievieno tukšu izkārtojuma konteineru. Šis konteiners ir kā tukšs audekls, kurā var ievietot jebkuru skaitu logrīku. “Atstarpes” attiecas uz atstarpi starp logrīkiem “pikseļu” vienībās.

pats.lodziņš = Gtk.Aile (atstarpe = 6)
pats.pievienot (sevi.kaste)

Tiek izveidots jauns pogas logrīks “Noklikšķiniet šeit”, izmantojot “Gtk.Poga ”metodi. Pēc tam tas tiek pielīdzināts vecāku lodziņa izkārtojuma horizontālajiem un vertikālajiem centriem, izmantojot “set_halign” un “set_valign” metodes. Poga ir savienota ar “noklikšķināt” signālu, lai ikreiz, kad tiek nospiesta poga, var izmantot atsaukšanas metodi “on_button_clicked”. Visbeidzot, pogas logrīks tiek ievietots no kreisās puses pa horizontālo asi līdz lodziņa izkārtojumam, izmantojot lodziņu “.pack_start ”metodi. Šai metodei ir nepieciešami četri argumenti: pievienojamais logrīka objekts, loga logrīka paplašināšanai, būla logrīka aizpildīšanai un polsterējums starp pievienotajiem un citiem blakus esošajiem logrīkiem.

pats.poga = GTK.Poga (label = "Noklikšķiniet šeit")
pats.pogu.set_halign (GTK.Izlīdzināt.CENTRS)
pats.pogu.set_valign (GTK.Izlīdzināt.CENTRS)
pats.pogu.savienot ("noklikšķinājis", pats.on_button_clicked)
pats.lodziņā.pack_start (pats.poga, True, True, 0)

Katru reizi, kad tiek nospiesta poga “Noklikšķiniet šeit”, tiek izmantota metode “on_button_click”. Jauns paziņojums tiek izveidots, izmantojot “jauno” metodi, kuras paziņojuma nosaukums un saturs tiek izmantoti kā argumenti. Šis paziņojums pēc tam tiek parādīts darbvirsmā, izmantojot metodi “parādīt”. Varat arī pārvietot “jauno” paziņojumu galvenajā konstruktorā, lai izvairītos no paziņojuma atjaunošanas ikreiz, kad tiek nospiesta poga.

def on_button_clicked (pats, logrīks):
n = Paziņot.Paziņošana.jauns ("Vienkāršā GTK3 lietojumprogramma", "Sveika pasaule !!")
n.rādīt ()

Daži nākamie paziņojumi ir par jauna lietojumprogrammas loga izveidošanu, pārvaldīšanu un parādīšanu. Tiek izveidots jauns klases “MyWindow” gadījums un tas ir savienots ar signālu “iznīcināt”, lai nodrošinātu, ka programma tiek pareizi aizvērta ikreiz, kad lietotājs nolemj aiziet no programmas, noklikšķinot uz pogas “x”. Metode “show_all” parāda lietojumprogrammas logu jūsu Linux darbvirsmā. Visbeidzot, tiek palaista galvenā lietojumprogrammu cilpa, kas atbild par notikumu un signālu apstrādi.

Secinājums

GTK3 un Qt ir daži no populārākajiem GUI ietvariem, ko izmanto, lai izveidotu lietojumprogrammas, kas darbojas dabiski Linux. Abi šie ietvari ļauj rakstīt galveno loģiku C ++ un Python valodās. Jūs nevarat kļūdīties, izvēloties kādu no šiem rīkkopiem savam nākamajam Linux lietojumprogrammas projektam.

Instalējiet jaunāko Dolphin emulatoru Gamecube un Wii operētājsistēmai Linux
Delfīnu emulators ļauj jums spēlēt izvēlētās Gamecube un Wii spēles Linux personālajos datoros (PC). Tā kā Dolphin Emulator ir brīvi pieejams un atvē...
Kā lietot GameConqueror Cheat Engine Linux
Rakstā ir sniegts ceļvedis par GameConqueror apkrāptu dzinēja izmantošanu Linux. Daudzi lietotāji, kas spēlē spēles operētājsistēmā Windows, bieži izm...
Labākie Linux spēļu konsoles emulatori
Šajā rakstā tiks uzskaitīta populārā Linux spēļu konsoles atdarināšanas programmatūra. Emulācija ir programmatūras saderības slānis, kas atdarina spēļ...