Indekso
Enkonduko
En GNU / Linukso disvolvi programojn kun Python 3, Glade kaj GTK + 3 estas tre facila, la pakoj aperas defaŭlte en plej multaj distribuoj.
Danke al Maldensejo ni povas krei uzantajn interfacojn rapide kaj facile kaj poste uzi ilin kune kun Python. Por atingi tion vi uzas PyGObject danke al la introspekta sistemo, kiun GNOME ofertas, kiu multe pli faciligas Rapidan Aplikan Disvolviĝon (RAD); eblas ankaŭ uzi niajn interfacojn kreitajn kun Glade de aliaj programlingvoj.
La problemo ekestas kiam ni volas uzi niajn programojn en Vindozo, ĉar ĝis antaŭ nelonge la pakoj por ĉi tiu sistemo ne oficiale ekzistis.
Kun ĉi tiu lernilo oni celas, ke programoj kreitaj en GNU / Linukso per Python 3 kaj GTK + 3 funkcias senprobleme en Vindozo.
Postuloj
- python 3.3
- Gtk + 3
- Maldensejo 3.14 aŭ pli alta (GUI-projektanto)
- pigobjekto
Instalado en Vindozo
Ĝi komencos per kreado de dosierujo nomata programaro aŭ alia laŭ via prefero kaj ni konservos en ĝi ĉiujn elŝutitajn pakaĵojn.
Elŝutu instalajn pakaĵojn
Elŝutu Python 3.3
Ĝi elŝuteblas de la oficiala Python-paĝo python.org
Alklakante la ligon (Windows Installer) la instalilo de Python elŝutos.
Elŝutu Maldensejon
Elŝuta retejo: glade.gnome.org
Ambaŭ Python kaj Glade-versioj estas 32-bitaj, sed ili funkcias perfekte sur 64-bitaj sistemoj
Elŝutu PyGObject
Elŝuta retejo: https://wiki.gnome.org/PyGObject
Ni devas elŝuti la version por GTK + 3
Instalado de la pakaĵoj
Nu ĝis ĉi tiu punkto ni jam havas ĉiujn elŝutitajn pakojn en la dosierujo programaro kaj ĉar ni elŝutis ĉiun pakon, ni komencos unue per la instalado de Python.
Python-instalado
Instalado estas tre simpla, la sorĉisto gvidos nin tra la procezo; Ni lasas ĉiujn eblojn markitajn defaŭlte.
Kiel vidite en la bildo, Python instalas en la dosierujo C: \ Python33 \ defaŭlte ni lasas ĝin tia, kia estas kaj daŭrigas la instaladon.
Je ĉi tiu punkto de la instalado ni elektas la opcion Aldonu python.exe al Vojo, kun la celo, ke kiam ni lanĉas Python-interpretilon, ĝi estos plenumita sen la bezono aldoni ĝin al la sistemo-vojo mane.
Poste ni finas la instaladon kaj Python estos instalita en nia sistemo.
Glade-Instalaĵo
Glade-instalado ne reprezentas gravan komplikaĵon, ni lanĉas la instalan programon kaj sekvas la paŝojn de la sorĉisto.
Instalado de PyGObject
Ni elŝutis la pakaĵon pygi-aio-3.4.2rev11.7z, ĉi tiu pako inkluzivas PyGObject por Python 3.3 kaj la bibliotekojn GTK + 3 por Vindozo, kun kiuj estas kunpremita 7-zip, ni malzipigas ĝin kaj ni havos dosierujon kun la sekva enhavo:
Nun ni kopias la dosierujon gtk a C: \ Python33 \ Lib \ site-packages kiu estas instalitaj la triaj pakoj por Python.
Ni reiras al nia dosierujo pygi-aio-3.4.2rev11 kaj ni malfermas la dosierujon py33 por la versio de Python kiu estas 3.3
Ni elektas ĉiu enhavo el la dosierujo py33 kaj ni kopias ĝin reen al la dosierujo C: \ Python33 \ Lib \ site-packages, oni petos nin miksi kaj surskribi, ni respondas jese. La enhavo de la dosierujo retejoj-pakoj ĝi estus kiel montrita en la sekva bildo:
Kontrolante la ĝustan instaladon de PyGobject kaj GTK + 3
Por kontroli, ke nia instalado ĝustas, ni malfermas la Python IDLE kaj importas la bibliotekojn GTK + 3 kaj se ni ne havas erarmesaĝon, ĉio estos farita ĝuste.
from gi.repository import Gtk
24 komentoj, lasu la viajn
Kaj kial GTK? Ĉu ne estus pli bone disvolviĝi en QT? krom esti plurplatforma kaj multaj diras, ke ĝi estas la estonteco
Nu, la du grandaj grafikaj bibliotekoj sur la labortablo GNU / Linukso estas GTK kaj QT, ĉiu elektas tiun, kiun ili preferas. Ne estas kialo batali.
La diferenco inter GTK kaj QT estas, ke ĉi-lasta estas kadro, tre bona, sed estante kadro, ĝi konsumas iom pli da rimedoj.
Ekzemple Mozilla Firefox, Google Chrome, LibreOffice kaj longa ktp estas kreitaj per GTK; Ĉi tio ne signifas, ke ĝi estas pli bona ol QT, ĉiuj devas elekti tiun, kiu konvenas al siaj preferoj kaj bezonoj, ni ne volas kaŭzi diskuton pri ĝi.
Google Chrome de versio 33, forlasu gtk.
kaj kial la klarigo por Windows kaj ne linux
Ĉu ĉar en Linukso ĉio jam estas pakita kaj en la oficialaj deponejoj de ĉiu distro? Ekzemple en Fedora mi jam havas Python 3, Gtk + 3 kaj PyGobject instalitajn defaŭlte. Se mi volas Glade, ĝi estas nur "yum install glade". Facila ĉu ne? 🙂
Ĉar kiel Germán diras, por distribuoj GNU / Linukso ili jam estas pakitaj kaj estas tre facile instali ilin; ekzemple instali glade en Debian estas tre simpla:
aptitude install glade
Se mi volas uzi Python 2.7, ĉu la paŝoj estos samaj?
Evidente, instalante la 2.7-bitan Python 32 (eĉ se vi uzas la 64-bitan OS) kaj anstataŭ la dosierujo py33, la 2.7 funkcius. Ĉu ĝi funkcius?
Dankon.
Nu jes, se vi havas problemon, lasu al mi komenton.
Ŝanco.
Dankon, mi jam provis kaj nuntempe la "Salutmondo" funkcias por mi.
Mi vidas ĉu mi ricevas bonan lernilon pri pyGTK3 aŭ kiel ajn ĝi nomiĝas kaj iujn problemojn, rimarku
Lernilo:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Multaj dankoj!
Provante la GTK3 kun Python 2.7 en Vindozo kaj sekvante la lernilon. Ĝis nun ĉiuj programoj funkcias por mi, krom tiu en Ĉapitro 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
Ĝi donas al mi la jenan eraron:
Traceback (plej freŝa alvoko laste):
Dosiero "C: \ Users \ User \ Desktop \ test.py", linio 24, en
win = IconViewWindow ()
Dosiero "C: \ Users \ User \ Desktop \ test.py", linio 19, en __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (ikono, 64, 0)
Dosiero "C: \ Python27 \ lib \ site-packages \ gi \ types.py", linio 47, en funkcio
revenu info.invoke (* args, ** kwargs)
GError: Ikono 'gtk-cut' ne ĉeestanta en la temo
Mi provis ĝin per aliaj ikonoj kaj ĝi ankaŭ ne funkcias. Ĉu mi bezonas instali temon? Dankon ekde nun.
Nek Ekzemplo 19. Trenas kaj Malplenigas.
La funkcio, kiu vokas en ambaŭ kazoj, kaj tie mi havas eraron, estas:
pixbuf = Gtk.IconTheme.get_default (). load_icon (piktograma nomo, 16, 0)
Mi ne povas trovi la ikonon, sed en aliaj ekzemploj vi povas uzi ilin. Ĝi donas al mi eraron nur kiam mi volas uzi ĝin kun tiu funkcio (ĉi tie ikononomo povas esti anstataŭigita per valoro kiel Gtk.STOCK_CUT aŭ kio ajn kaj ĝi donas precize la saman eraron).
Mi daŭre parolas al mi mem. Kio funkcias por mi en aliaj ekzemploj, estas, ke la bildoj ŝarĝas sur la butonoj. Mi ne povas ŝarĝi la ikonojn kun la funkcio, kiu venas en la du ekzemploj, kiujn mi donis antaŭe.
Mi pensas, ke la eraro estas klara:
GError: Ikono 'gtk-cut' ne ĉeestanta en la temo
Ŝajne tiu ikono ne disponeblas, uzu alian ikonon. Probable la paka prizorganto ne inkluzivis la temajn ikonojn aŭ ĝi ne troveblas en la defaŭlta vojo, uzu distribuon GNU / Linukso kaj vidu ĉu la sama eraro ankoraŭ aperas.
Pri demando 19, ĝi ŝajnas esti rilata al la PyGobject-versio, sur la supro de la dokumentado ĝi diras:
noto
Versioj de PyGObject = 3.0.3 necesas por la sekvaj ekzemploj funkcii.
La versio, kiun vi havas, estas 3.0, provu distribuon GNU / Linukso; kaj tiam ni devas atendi, ke ili ĝisdatigu la pakon (por Vindozo) aŭ ĉiuokaze vi mem povos kompili ĝin.
Salutojn kaj plu.
En Ubuntu ĉiuj lernaj ekzemploj funkcias perfekte por mi. En Vindozo, ĝi ankoraŭ ne funkcias. Mi devos atendi. Alia, kiu ne marŝas, estas la ekzemplo de la ŝpinilo, kiu ne faras la kuraĝigon. Saluton kaj dankon.
Mi sekvis la instalinstruilon kaj instalis ĉion paŝon post paŝo.
Kaj plenumante la jenan kodon:
de gi.repository import Gtk
klaso FiestraPrincipal:
def __init __ (mem):
dosiernomo = "/ data / dam / Python exemplars / Saudoform"
konstruanto = Gtk.builder ()
konstruisto.add_de_dosiero (dosiernomo)
#vortaro, kie ni rilatas sinajojn kun eventoj
sinais = {
«ClickedAccept»: self.clic_boton,
"AktivigiTekston": self.clic_boton,
"DestroyFiestra": Gtk.main_quit
}
constructor.connect_signals (Sinais)
#Ni ricevas referencon al la XML-priskribilo por povi aliri
self.label = self.widgets_widget ("Etikedo")
self.cadroTexto = self.widgets_widget ("CadroTexto")
def butono_klaki (mem, fenestraĵo):
teksto = self.cadroTexto.get_text ()
self.label.set_text ("ondo% s"% teksto)
se __nomo__ == »__ ĉefa__»:
FiestraPrincipal ()
Gtk.Main ()
Mi ricevas ĉi tiun respondon:
Traceback (plej freŝa alvoko laste):
Dosiero «C: / Users / admin / Google Drive / test / Saudo Form.py», linio 3, en
de gi.repository import Gtk
Dosiero "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", linio 27, en
de ._gi import _API, Deponejo
ImportError: DLL-ŝarĝo malsukcesis:% 1 ne estas valida Win32-aplikaĵo.
Iu scias, kio estas la problemo, aŭ kio eble estas ĝia ebla solvo.
Multan dankon
Interesaj. Mi faris la instaladon en linukso, sed la klarigo por Windows estas bona, nun mi havas ĝin en ambaŭ. 😉
Ĝi estas amuza ĉe 7-bita Windows 32 la unuan fojon.
Sur Vindozo 7 64-bita, mi ne povas funkciigi ĝin, mi ĉiam akiras ĝin;
>>> de gi.repository import Gtk
Traceback (plej freŝa alvoko laste):
Dosiero «», linio 1, en
Dosiero "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", linio 27, en
de ._gi import _API
ImportError: DLL-ŝarĝo malsukcesis: La specifa procezo ne estis trovita.
Mi provis ĝin ĉiuokaze ebla, mi jam perdis la iluzion instali ĝin.
Vi vidos, ke la 64-bitaj bibliotekoj ankoraŭ havas iujn erarojn, bonvolu instali la 32-bitan version de kaj python kaj GTK + por ke vi ne havu problemojn.
Vi neniam perdu la iluzion 🙂
Saluton, mi laboras kun python + gtk3, estas tre bone nun mi havas problemon, mi volas ĉi-kaze ŝanĝi la ikonon al mia formo (fenestro) kaj mi povas ŝanĝi ĝin, antaŭdankon, Salutojn
publikigu simplajn filmetojn pri kiel programi en gtk + 3 kaj simplajn lernilojn salutas
Bonega lernilo. Koran dankon pro via penado. Salutojn.
Mi faris ĉiujn paŝojn kaj kiam mi fidis la instaladon, mi ricevis ĉi tiun eraron.
Traceback (plej freŝa alvoko laste):
Dosiero «», linio 1, en
de gi.repository import Gtk
ImportError: Neniu modulo nomata 'gi'