I
U GNU / Linuxu razvoj aplikacija s Pythonom 3, Gladeom i GTK + 3 vrlo je jednostavan, paketi dolaze po defaultu u većini distribucija.
Kroz Proplanak možemo brzo i jednostavno stvoriti korisničko sučelje, a zatim ih koristiti zajedno s Pythonom. Da biste to postigli koristite PyGObject zahvaljujući sustavu introspekcije koji nudi GNOME, što znatno olakšava brzi razvoj aplikacija (RAD); također je moguće koristiti naša sučelja kreirana s Glade iz drugih programskih jezika.
Problem nastaje kada svoje aplikacije želimo koristiti u sustavu Microsoft Windows, jer donedavno paketi za ovaj sustav nisu službeno postojali.
Ovim vodičem namijenjeno je da se aplikacije izrađene u GNU / Linuxu koristeći Python 3 i GTK + 3 pokreću bez problema u sustavu Windows.
zahtjevi
- Python 3.3
- Gtk + 3
- Glade 3.14 ili noviji (GUI dizajner)
- pygobject
Instalacija na Windows
Započet će stvaranjem mape zvane softver ili neki drugi po vašoj želji i u njega ćemo spremiti sve preuzete pakete.
Preuzmite instalacijske pakete
Preuzmite Python 3.3
Može se preuzeti sa službene stranice Python python.org
Klikom na vezu (Windows Installer) preuzet će se instalacijski program Python.
Preuzmite Glade
Preuzmi stranicu: proplanak.gnome.org
Inačice Python i Glade su 32-bitne, ali besprijekorno rade na 64-bitnim sustavima
Preuzmite PyGObject
Preuzmi stranicu: https://wiki.gnome.org/PyGObject
Moramo preuzeti verziju za GTK + 3
Instaliranje paketa
Do ovog trenutka već imamo sve preuzete pakete u mapi softver i kako smo preuzeli svaki paket, prvo ćemo započeti s instalacijom Pythona.
Instalacija Pythona
Instalacija je vrlo jednostavna, čarobnjak će nas voditi kroz postupak; Sve opcije ostavljamo označene prema zadanim postavkama.
Kao što se vidi na slici, Python se instalira u mapu C: \ Python33 \ Prema zadanim postavkama ostavljamo ga kakav jest i nastavljamo s instalacijom.
U ovom trenutku instalacije odabiremo opciju Dodajte python.exe u Put, sa svrhom da se prilikom pokretanja Python interpretera izvrši bez potrebe za ručnim dodavanjem na sistemsku stazu.
Zatim dovršimo instalaciju i Python će biti instaliran na naš sustav.
Instalacija proplanaka
Instalacija Gladea ne predstavlja veliku komplikaciju, mi pokrećemo instalacijski program i slijedimo korake čarobnjaka.
Instalacija PyGObject-a
Preuzeli smo paket pygi-aio-3.4.2rev11.7z, ovaj paket uključuje PyGObject za Python 3.3 i GTK + 3 knjižnice za Windows, koji je komprimiran sa 7-zip, raspakiramo ga i imat ćemo mapu sa sljedećim sadržajem:
Sada kopiramo mapu gtk a C: \ Python33 \ Lib \ web-paketi tu se instaliraju paketi treće strane za Python.
Vraćamo se u našu mapu pygi-aio-3.4.2rev11 i otvaramo mapu py33 za verziju Pythona koja je 3.3
Mi odabiremo sav sadržaj iz mape py33 i kopiramo ga natrag u mapu C: \ Python33 \ Lib \ web-paketi, od nas će se tražiti da promiješamo i prepišemo, odgovaramo potvrdno. Sadržaj mape web-paketi bilo bi kao što je prikazano na sljedećoj slici:
Provjera ispravne instalacije PyGobject i GTK + 3
Da bismo provjerili je li naša instalacija ispravna, otvaramo Python IDLE i uvozimo biblioteke GTK + 3, a ako nemamo nikakvu poruku o pogrešci, sve će biti učinjeno ispravno.
from gi.repository import Gtk
A zašto GTK? Ne bi li bilo bolje razvijati se u QT? osim što je multiplatformna i mnogi kažu da je to budućnost
Pa, dvije izvrsne grafičke biblioteke na radnoj površini GNU / Linux su GTK i QT, svaka odabere onu koja više voli. Nema razloga za borbu.
Razlika između GTK i QT je u tome što je potonji okvir, uistinu vrlo dobar, ali kao okvir troši malo više resursa.
Na primjer, Mozilla Firefox, Google Chrome, LibreOffice i dugački itd. Izrađeni su s GTK-om; To ne znači da je bolji od QT-a, svatko bi trebao odabrati onaj koji odgovara njegovim željama i potrebama, ne želimo o tome raspravljati.
Google chrome od verzije 33, ostavite gtk.
i zašto objašnjenje za Windows, a ne za Linux
Je li to zato što je u Linuxu sve već spakirano i u službenim spremištima svake distro? Na primjer, u Fedori već imam instalirane Python 3, Gtk + 3 i PyGobject prema zadanim postavkama. Ako želim Glade, to je samo "yum install glade". Lako zar ne? 🙂
Jer kao što Germán kaže, za GNU / Linux distribucije već su zapakirane i vrlo je jednostavno instalirati ih; na primjer, instalirati glade u Debian vrlo je jednostavno:
sklonost instalirati proplanak
Ako želim koristiti Python 2.7, hoće li koraci biti isti?
Očito je da bi instaliranje 2.7-bitnog Pythona 32 (čak i ako koristite 64-bitni OS), umjesto mape py33, išlo 2.7. Bi li uspjelo?
Hvala Vam.
Pa da, ako imate problema, ostavite mi komentar.
Sreća.
Hvala, probao sam i za sada mi "Hello world" djeluje.
Vidim mogu li dobiti kakav dobar vodič za pyGTK3 ili kako god se već zove i bilo kakve probleme, upozorenje.
tutorial:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Hvala puno!
Testiranje GTK3 s Pythonom 2.7 na sustavu Windows i praćenje vodiča. Zasad svi programi rade za mene, osim onog u poglavlju 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
Donosi mi sljedeću pogrešku:
Traceback (najnoviji zadnji poziv):
Datoteka "C: \ Users \ User \ Desktop \ test.py", redak 24, u
win = IconViewWindow ()
Datoteka "C: \ Users \ User \ Desktop \ test.py", redak 19, u __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (ikona, 64, 0)
Datoteka "C: \ Python27 \ lib \ site-package \ gi \ types.py", redak 47, u funkciji
return info.invoke (* args, ** kwargs)
GError: Ikona 'gtk-cut' nije prisutna u temi
Pokušao sam s drugim ikonama, a ni to ne radi. Trebam li instalirati temu? Hvala od sada.
Kao ni Primjer 19. Povuci i ispusti.
Funkcija koja poziva u oba slučaja i tu dobivam pogrešku je:
pixbuf = Gtk.IconTheme.get_default (). load_icon (ime_ikona, 16, 0)
Ne mogu pronaći ikonu, ali u drugim primjerima možete ih koristiti. Donosi mi pogrešku samo kada je želim koristiti s tom funkcijom (ovdje se ime_imena može zamijeniti vrijednošću kao što je Gtk.STOCK_CUT ili bilo što drugo i daje potpuno istu pogrešku).
Stalno razgovaram sa sobom. U ostalim primjerima meni odgovara što se slike učitavaju na gumbe. Ne mogu učitati ikone s funkcijom koja dolazi u dva primjera koja sam ranije dao.
Mislim da je pogreška jasna:
GError: Ikona 'gtk-cut' nije prisutna u temi
Izgleda da ta ikona nije dostupna, upotrijebite drugu ikonu. Vjerojatno održavatelj paketa nije sadržavao ikone tema ili ga nije moguće pronaći u zadanom putu, upotrijebite GNU / Linux distribuciju i provjerite pojavljuje li se ista pogreška i dalje.
Što se tiče pitanja 19, čini se da je povezano s verzijom PyGobject, na vrhu dokumentacije stoji:
bilješke
Verzije PyGObject = 3.0.3 potrebne su za rad sljedećih primjera.
Verzija koju imate je 3.0, isprobajte GNU / Linux distribuciju; a zatim moramo pričekati da ažuriraju paket (za Windows) ili ga u svakom slučaju možete sami sastaviti.
Pozdrav i kreni dalje.
U Ubuntuu svi primjeri tutorijala rade savršeno za mene. Na sustavu Windows još uvijek ne radi. Morat ću pričekati. Još jedan koji ne hoda je primjer Spinnera, koji ne radi animaciju. Pozdrav i hvala.
Slijedio sam vodič za instalaciju i sve instalirao korak po korak.
I izvršavanje sljedećeg koda:
iz gi.repozitorija uvoz Gtk
razred FiestraPrincipal:
def __init __ (samo):
filename = "/ data / dam / Python samples / Saudoform"
konstruktor = Gtk.builder ()
constructor.add_from_file (naziv datoteke)
#dictionary gdje vezujemo sinais s događajima
sinais = {
«ClickedAccept»: self.clic_boton,
"ActivateTextCadro": self.clic_boton,
"DestroyFiestra": Gtk.main_quit
}
konstruktor.povezani_signali (sinais)
# Dobivamo referencu na XML deskriptor da bismo mogli pristupiti
self.label = self.widgets_widget ("Oznaka")
self.cadroTexto = self.widgets_widget ("CadroTexto")
def button_click (self, widget):
text = self.cadroTexto.get_text ()
self.label.set_text ("val% s"% teksta)
ako je __name__ == »__ main__»:
FiestraPrincipal ()
Gtk.Main ()
Dobivam ovaj odgovor:
Traceback (najnoviji zadnji poziv):
Datoteka «C: / Users / admin / Google Drive / test / SaudoForm.py», redak 3, u
iz gi.repozitorija uvoz Gtk
Datoteka "C: \ Python33 \ lib \ site-package \ gi \ __ init__.py", redak 27, u
iz ._gi import _API, Repozitorij
ImportError: Nije uspjelo učitavanje DLL-a:% 1 nije važeća Win32 aplikacija.
Netko zna u čemu je problem ili koje je možda njegovo moguće rješenje.
Puno hvala.
Zanimljiv. Instalaciju sam obavio u Linuxu, ali objašnjenje za Windows je u redu, sada ga imam u oba. 😉
Smiješno je na 7-bitnom sustavu Windows 32 prvi put.
Na 7-bitnom sustavu Windows 64 ne mogu ga pokrenuti, uvijek ga dobijem;
>>> iz gi.repository import Gtk
Traceback (najnoviji zadnji poziv):
Datoteka «», redak 1, u
Datoteka "C: \ Python33 \ lib \ site-package \ gi \ __ init__.py", redak 27, u
iz ._gi import _API
ImportError: Učitavanje DLL-a nije uspjelo: navedeni postupak nije pronađen.
Isprobao sam to svejedno moguće, već sam izgubio iluziju da sam ga instalirao.
Vidjet ćete da 64-bitne knjižnice i dalje imaju neke pogreške, instalirajte 32-bitnu verziju i pythona i GTK + kako ne biste imali problema.
Nikada ne biste trebali izgubiti iluziju 🙂
Pozdrav, radim s python + gtk3, sada je vrlo dobro, imam mali problem. U ovom slučaju želim promijeniti ikonu u svoj oblik (prozor) i mogu je promijeniti, hvala unaprijed, pozdrav
objavite jednostavne video zapise o tome kako programirati u gtk + 3 i jednostavne pozdrave s vodičima
Izvrsna lekcija. Puno vam hvala na trudu. Pozdrav.
Učinio sam sve korake i kad sam otišao vjerovati instalaciji, dobio sam ovu pogrešku.
Traceback (najnoviji zadnji poziv):
Datoteka «», redak 1, u
iz gi.repozitorija uvoz Gtk
ImportError: Nema modula pod nazivom 'gi'