uvod
V GNU / Linux je razvoj aplikacij s Pythonom 3, Glade in GTK + 3 zelo enostaven, paketi so privzeto v večini distribucij.
Zahvaljujoč se Glada uporabniške vmesnike lahko ustvarimo hitro in enostavno, nato pa jih uporabimo skupaj s Pythonom. Da bi to dosegli, uporabljate PyGObject zahvaljujoč sistemu introspekcije, ki ga ponuja GNOME, kar olajša hiter razvoj aplikacij (RAD); prav tako je mogoče uporabiti naše vmesnike, ustvarjene z Glade iz drugih programskih jezikov.
Težava nastane, ko želimo svoje aplikacije uporabljati v sistemu Microsoft Windows, saj do nedavnega paketi za ta sistem uradno niso obstajali.
V tej vadnici je predvideno, da se aplikacije, izdelane v GNU / Linux z uporabo Python 3 in GTK + 3, brez težav izvajajo v sistemu Windows.
Zahteve
- Python 3.3
- Gtk + 3
- Glade 3.14 ali novejši (GUI oblikovalec)
- pygobject
Namestitev v sistem Windows
Začelo se bo z ustvarjanjem mape z imenom programska oprema ali drugo po vaši želji in vanjo bomo shranili vse prenesene pakete.
Prenesite namestitvene pakete
Prenesite Python 3.3
Prenesete ga lahko z uradne strani Python python.org
S klikom na povezavo (Windows Installer) se bo naložil namestitveni program Python.
Prenesite Glade
Spletna stran za prenos: glade.gnome.org
Različici Python in Glade sta 32-bitni, vendar v 64-bitnih sistemih delujeta brezhibno
Prenesite PyGObject
Spletna stran za prenos: https://wiki.gnome.org/PyGObject
Prenesti moramo različico za GTK + 3
Namestitev paketov
Do te točke imamo v mapi že vse prenesene pakete programska oprema in ker smo prenesli vsak paket, bomo najprej začeli z namestitvijo Pythona.
Namestitev Pythona
Namestitev je zelo preprosta, čarovnik nas bo vodil skozi postopek; Vse možnosti pustimo privzeto označene.
Kot je razvidno iz slike, se Python namesti v mapo C: \ Python33 \ Privzeto ga pustimo, kot je, in nadaljujemo z namestitvijo.
Na tej točki namestitve izberemo možnost V pot dodajte python.exe, z namenom, da se ob zagonu tolmača Python izvrši, ne da bi ga bilo treba ročno dodati na sistemsko pot.
Nato končamo namestitev in Python bo nameščen v naš sistem.
Namestitev Glade
Namestitev Glade ne predstavlja večjega zapleta, zaženemo namestitveni program in sledimo korakom čarovnika.
Namestitev PyGObject
Paket smo prenesli pygi-aio-3.4.2rev11.7z, ta paket vključuje knjižnice PyGObject za Python 3.3 in GTK + 3 za Windows, ki je stisnjena z 7-zip, ga razpakiramo in dobili bomo mapo z naslednjo vsebino:
Zdaj kopiramo mapo gtk a C: \ Python33 \ Lib \ site-paketi tam so nameščeni tretji paketi za Python.
Vrnemo se v našo mapo pygi-aio-3.4.2rev11 in odpremo mapo py33 za različico Python, ki je 3.3
Mi izberemo vse vsebine iz mape py33 in jo kopiramo nazaj v mapo C: \ Python33 \ Lib \ site-paketi, morali bomo premešati in prepisati, odgovorimo pritrdilno. Vsebina mape spletna mesta bilo bi, kot je prikazano na naslednji sliki:
Preverjanje pravilne namestitve PyGobject in GTK + 3
Da bi preverili, ali je bila naša namestitev pravilna, odpremo Python IDLE in uvozimo knjižnice GTK + 3 in če ne bomo dobili nobenega sporočila o napaki, bo vse narejeno pravilno.
from gi.repository import Gtk
In zakaj GTK? Ali ne bi bilo bolje razvijati se v QT? poleg tega, da je multiplatformna, mnogi pravijo, da je prihodnost
No, dve odlični grafični knjižnici na namizju GNU / Linux sta GTK in QT, vsaka pa izbere tisto, ki jo ima raje. Ni razloga za boj.
Razlika med GTK in QT je v tem, da je slednji okvir, res zelo dober, vendar kot okvir porabi malo več sredstev.
Na primer, Mozilla Firefox, Google Chrome, LibreOffice in long etcetera so narejeni z GTK; To ne pomeni, da je boljši od QT, vsak naj izbere tistega, ki ustreza njegovim željam in potrebam, o tem ne želimo sprožiti razprave.
Google chrome od različice 33, pustite gtk.
in zakaj razlaga za windows in ne linux
Je to zato, ker je v Linuxu vse že zapakirano in v uradnih repozitorijih vsake distro? Na primer v Fedori imam privzeto že nameščene Python 3, Gtk + 3 in PyGobject. Če želim Glade, je to samo "yum install glade". Preprosto kajne? 🙂
Ker, kot pravi Germán, so za distribucije GNU / Linux že zapakirane in jih je zelo enostavno namestiti; na primer namestitev glade v Debian je zelo preprosta:
aptitude namestite jaso
Če želim uporabiti Python 2.7, bodo koraki enaki?
Očitno bi namestitev 2.7-bitnega Pythona 32 (tudi če uporabljate 64-bitni OS) in namesto mape py33 šla 2.7. Bi uspelo?
Hvala.
No ja, če imate težave, mi pustite komentar.
Luck.
Hvala, že sem poskusil in za zdaj mi deluje "Hello world".
Vem, ali lahko dobim kakšno dobro vadnico pyGTK3 ali karkoli že se imenuje, in kakršne koli težave, opozorilo.
Vaje:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Najlepša hvala!
Testiranje GTK3 s Pythonom 2.7 v sistemu Windows in sledenje vadnici. Zaenkrat zame delujejo vsi programi, razen tistega v 14. poglavju (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
Prikaže mi naslednjo napako:
Sledenje (zadnji zadnji klic):
Datoteka "C: \ Users \ User \ Desktop \ test.py", vrstica 24, v
win = IconViewWindow ()
Datoteka "C: \ Users \ User \ Desktop \ test.py", vrstica 19, v __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (ikona, 64, 0)
Datoteka "C: \ Python27 \ lib \ site-paketi \ gi \ types.py", vrstica 47, v funkciji
return info.invoke (* args, ** kwargs)
GError: Ikona 'gtk-cut' ni prisotna v temi
Poskusil sem z drugimi ikonami in tudi ne deluje. Ali moram namestiti temo? Hvala od zdaj.
Tudi primer 19. Povleci in spusti.
Funkcija, ki v obeh primerih pokliče in takrat dobim napako, je:
pixbuf = Gtk.IconTheme.get_default (). load_icon (ime_ ikone, 16, 0)
Ikone ne najdem, v drugih primerih pa jih lahko uporabite. Napaka mi pride samo, kadar jo želim uporabiti s to funkcijo (tukaj je ime_imenovanja mogoče nadomestiti z vrednostjo, kot je Gtk.STOCK_CUT ali karkoli, in daje popolnoma enako napako).
Ves čas se pogovarjam sama s seboj. V drugih primerih mi uspe, da se slike naložijo na gumbe. Ikon ne morem naložiti s funkcijo, ki je navedena v dveh primerih, ki sem jih navedel prej.
Mislim, da je napaka jasna:
GError: Ikona 'gtk-cut' ni prisotna v temi
Očitno ta ikona ni na voljo, uporabite drugo ikono. Verjetno vzdrževalec paketov ni vključeval ikon tem ali ga ni mogoče najti na privzeti poti, uporabite distribucijo GNU / Linux in preverite, ali se ista napaka še vedno pojavlja.
Glede vprašanja 19 se zdi, da je povezano z različico PyGobject, na vrhu dokumentacije piše:
Opombe
Za delovanje naslednjih primerov so potrebne različice PyGObject = 3.0.3.
Različica, ki jo imate, je 3.0, poskusite z distribucijo GNU / Linux; nato pa moramo počakati, da posodobijo paket (za Windows), v vsakem primeru pa ga lahko sestavite sami.
Lep pozdrav in gremo naprej.
V Ubuntuju so vsi primeri vadnic zame popolni. V sistemu Windows še vedno ne deluje. Moral bom počakati. Še en, ki ne hodi, je primer Spinnerja, ki ne dela animacije. Lep pozdrav in hvala.
Sledil sem navodilom za namestitev in vse namestil korak za korakom.
In izvajanje naslednje kode:
iz gi.repository import Gtk
razred FiestraPrincipal:
def __init __ (samo):
ime datoteke = "/ data / dam / Primeri Pythona / Saudoform"
konstruktor = Gtk.builder ()
constructor.add_from_file (ime datoteke)
#dictionary, kjer sinais povezujemo z dogodki
sinais = {
«ClickedAccept»: self.clic_boton,
"ActivateTextCadro": self.clic_boton,
"DestroyFiestra": Gtk.main_quit
}
constructor.connect_signals (sinais)
# Za dostop imamo sklic na deskriptor XML
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"% besedila)
če je __name__ == »__ main__»:
FiestraPrincipal ()
Gtk.Main ()
Dobil sem ta odgovor:
Sledenje (zadnji zadnji klic):
Datoteka «C: / Users / admin / Google Drive / test / SaudoForm.py», vrstica 3, v
iz gi.repository import Gtk
Datoteka "C: \ Python33 \ lib \ site-Packages \ gi \ __ init__.py", vrstica 27, v
iz ._gi import _API, Repozitorij
ImportError: Nalaganje DLL ni uspelo:% 1 ni veljavna aplikacija Win32.
Nekdo ve, v čem je težava ali kakšna je možna rešitev.
Hvala lepa.
Zanimivo. Namestitev sem opravil v Linuxu, vendar je razlaga za okna v redu, zdaj jo imam v obeh. 😉
V 7-bitnem sistemu Windows 32 je prvič smešno.
V operacijskem sistemu Windows 7 64-bit ga ne morem zagnati, vedno ga dobim;
>>> iz gi.repository import Gtk
Sledenje (zadnji zadnji klic):
Datoteka «», vrstica 1, v
Datoteka "C: \ Python33 \ lib \ site-Packages \ gi \ __ init__.py", vrstica 27, v
iz ._gi import _API
ImportError: Nalaganje DLL ni uspelo: navedenega postopka ni bilo mogoče najti.
Vseeno sem poskusil, že sem izgubil iluzijo namestitve.
Videli boste, da imajo 64-bitne knjižnice še vedno nekaj napak. Prosimo, namestite 32-bitno različico pythona in GTK +, da ne boste imeli težav.
Nikoli ne smete izgubiti iluzije 🙂
Živjo, delam s python + gtk3, zdaj je zelo dobro, ker imam majhen problem. V tem primeru želim spremeniti ikono v svoj obrazec (okno) in jo lahko spremenim, hvala vnaprej, Lep pozdrav
objavite preproste videoposnetke, kako programirati v gtk + 3, in enostavne pozdrave z vadnicami
Odlična vadnica. Najlepša hvala za vaš trud. S spoštovanjem.
Naredil sem vse korake in ko sem zaupal namestitvi, sem dobil to napako.
Sledenje (zadnji zadnji klic):
Datoteka «», vrstica 1, v
iz gi.repository import Gtk
ImportError: Nobenega modula z imenom 'gi'