Isingeniso
Ku-GNU / Linux ukuthuthukisa izinhlelo zokusebenza ngePython 3, Glade ne-GTK + 3 kulula kakhulu, amaphakheji eza ngokuzenzakalela ekusatshalalisweni okuningi.
Siyabonga IGlade singakha i-interface yomsebenzisi ngokushesha futhi kalula bese siyisebenzisa ngokuhlangana nePython. Ukufeza lokhu usebenzisa I-PyGObject sibonga uhlelo lokuhlola olunikezwa yi-GNOME, olusiza kakhulu ukuthuthukiswa kokusebenza okusheshayo (i-RAD); kungenzeka ukusebenzisa izindlela zethu ezakhiwe nge-Glade kusuka kwezinye izilimi ezihlelayo.
Inkinga yenzeka lapho sifuna ukusebenzisa izinhlelo zethu ku-Microsoft Windows, ngoba kuze kube muva nje amaphakheji alesi simiso abengekho ngokusemthethweni.
Ngalesi sifundo kuhloswe ukuthi izinhlelo zokusebenza ezenziwe ku-GNU / Linux zisebenzisa i-Python 3 ne-GTK + 3 zisebenza ngaphandle kwezinkinga ku-Windows.
Izidingo
- Python 3.3
- I-Gtk + 3
- I-Glade 3.14 noma ngaphezulu (umklami we-GUI)
- I-PyGobject
Ukufaka ku-Windows
Kuzoqala ngokwakha ifolda ebizwa ngokuthi isofthiwe noma okunye okuthandayo futhi sizogcina kuwo wonke amaphakheji alandiwe.
Landa amaphakheji wokufaka
Landa iPython 3.3
Ingalandwa ekhasini elisemthethweni lePython python.org
Ngokuchofoza isixhumanisi (I-Windows Installer) isifaki sePython sizolanda.
Landa uGlade
Landa isiza: Glade.gnome.org
Zombili izinhlobo zePython neGlade zingama-32-bit, kepha zisebenza ngaphandle kwezinkinga kumasistimu angama-64
Landa iPyGObject
Landa isiza: https://wiki.gnome.org/PyGObject
Kufanele silande uhlobo lweGTK + 3
Ukufaka amaphakheji
Kuze kube manje sesivele sinawo wonke amaphakheji alandiwe kufolda isofthiwe futhi njengoba silande iphakethe ngalinye sizoqala kuqala ngokufakwa kwePython.
Ukufakwa kwePython
Ukufaka kulula kakhulu, iwizard izosihola ngenqubo; Sishiya zonke izinketho ezimakwe ngokuzenzakalela.
Njengoba kubonakala esithombeni, iPython ifakwa kufolda C: \ Python33 \ Ngokuzenzakalelayo, siyishiya njengoba injalo bese siqhubeka nokufakwa.
Kuleli qophelo lokufakwa sikhetha inketho Faka i-python.exe kuPath, ngenhloso yokuthi lapho sethula otolika = Python) kwenziwa ngaphandle kwesidingo sokuyifaka endleleni yohlelo ngesandla.
Ngemuva kwalokho siqeda ukufaka futhi iPython izobe ifakiwe kusistimu yethu.
Ukufakwa kwe-Glade
Ukufakwa kwe-Glade akumele inkinga enkulu, siqhuba uhlelo lokufaka futhi silandele izinyathelo zewizard.
Ukufakwa kwePyGObject
Silande iphakheji img-aio-3.4.2rev11.7z, leli phakheji lifaka iPyGObject yePython 3.3 nemitapo yolwazi ye-GTK + 3 ye-Windows, ecindezelwe I-7-zip, siyivula iziphu bese sizoba nefolda enokuqukethwe okulandelayo:
Manje sikopisha ifolda gtk a C: \ Python33 \ Lib \ site-package kulapho kufakwa khona amaphakheji avela eceleni kwePython.
Sibuyela kufolda yethu ivolumu-3.4.2rev11 bese sivula ifolda p33 yenguqulo yePython eyi-3.3
Siyakhetha konke okuqukethwe kusuka kufolda p33 bese siyikopishela emuva kufolda C: \ Python33 \ Lib \ site-package, sizocelwa ukuthi sihlanganise futhi sibhale ngaphezulu, siphendula ngokuvuma. Okuqukethwe yifolda isiza-amaphakheji kuzoba njengoba kukhonjisiwe esithombeni esilandelayo:
Ihlola ukufakwa okulungile kwePyGobject ne-GTK + 3
Ukubheka ukuthi ukufakwa kwethu bekulungile yini, sivula iPython IDLE bese singenisa imitapo yolwazi ye-GTK + 3 futhi uma singenayo imilayezo yamaphutha, konke kuzobe kwenziwe ngendlela efanele.
from gi.repository import Gtk
Futhi kungani iGTK? Bekungeke yini kube ngcono ukuthuthukisa ku-QT? ngaphandle kokuba yi-multiplatform futhi abaningi bathi ikusasa
Imitapo yolwazi emibili emikhulu kudeskithophu ye-GNU / Linux yi-GTK ne-QT, ngayinye ikhetha eyodwa eziyithandayo. Asikho isizathu sokulwa.
Umehluko phakathi kwe-GTK ne-QT ukuthi owokugcina uhlaka, luhle kakhulu impela, kepha ukuba uhlaka kudla izinsiza ezithe xaxa.
Isibonelo i-Mozilla Firefox, i-Google Chrome, i-LibreOffice ne-etcetera ende yenziwa nge-GTK; Lokhu akusho ukuthi kungcono kune-QT, wonke umuntu kufanele akhethe okuvumelana nezintandokazi nezidingo zakhe, asifuni ukudala ingxoxo ngakho.
I-Google chrome kusuka kunguqulo 33, shiya i-gtk.
nokuthi kungani incazelo yamawindi hhayi i-linux
Ingabe kungenxa yokuthi eLinux yonke into isivele ifakiwe nasemakhosombeni asemthethweni we-distro ngayinye? KuFedora, ngokwesibonelo, sengivele nginePython 3, Gtk + 3, nePyGobject efakwe ngokuzenzakalela. Uma ngifuna iGlade, kumane nje kungukuthi "yum install glade". Kulula? 🙂
Ngoba njengoba kusho uGermán, ekusatshalalisweni kwe-GNU / Linux sezivele zihlanganisiwe futhi kulula kakhulu ukuzifaka; ngokwesibonelo ukufaka i-glade ku-Debian kulula kakhulu:
ukufaneleka ukufaka i-glade
Uma ngifuna ukusebenzisa iPython 2.7 izinyathelo zizofana?
Ngokusobala, ukufaka i-2.7-bit Python 32 (noma ngabe usebenzisa i-64-bit OS) futhi esikhundleni sefolda ye-py33, i-2.7 izohamba. Ngabe kuzosebenza?
Ngiyabonga
Yebo, uma unenkinga, ngishiyele amazwana.
Inhlanhla
Ngiyabonga, ngizamile futhi okwamanje i- "Hello world" iyangisebenzela.
Ngiyabona ukuthi ngingathola yini okokufundisa okuhle kwe-pyGTK3 noma yini okubizwa ngayo nanoma yiziphi izinkinga, isexwayiso.
Isifundo:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Ngibona kakhulu!
Ukuhlola i-GTK3 nge-Python 2.7 ku-Windows nokulandela okokufundisa. Kuze kube manje zonke izinhlelo ziyangisebenzela, ngaphandle kwaleso esikuSahluko 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
Inginika iphutha elilandelayo:
I-Traceback (ucingo lwakamuva lugcine):
Ifayela "C: \ Users \ User \ Desktop \ test.py", ulayini 24, ku
win = IconViewWindow ()
Ifayela "C: \ Users \ User \ Desktop \ test.py", ulayini 19, ku- __init__
pixbuf = Gtk.IconTheme.get_default (). umthwalo_icon (isithonjana, 64, 0)
Ifayela "C: \ Python27 \ lib \ site-package \ gi \ types.py", umugqa 47, osebenzayo
buyisa info.invoke (* args, ** kwargs)
Iphutha: Isithonjana 'gtk-cut' asikho kutimu
Ngizamile ngezinye izithonjana futhi akusebenzi futhi. Ngabe ngidinga ukufaka itimu? Ngiyabonga kusukela manje.
Nesibonelo 19. Hudula bese ulahla.
Umsebenzi obiza ezimweni zombili nokuyilapho ngithola khona iphutha yilokhu:
pixbuf = Gtk.IconTheme.get_default (). umthwalo_icon (icon_name, 16, 0)
Angisitholi isithonjana, kepha kwezinye izibonelo ungazisebenzisa. Kunginika iphutha kuphela lapho ngifuna ukulisebenzisa nalowo msebenzi (lapha icon_name ingashintshwa ngenani elifana neGtk.STOCK_CUT noma yini futhi linikeze iphutha elifanayo ncamashi).
Ngiqhubeka ngikhuluma ngedwa. Okungisebenzelayo kwezinye izibonelo ukuthi izithombe zilayisha ezinkinobho. Angikwazi ukulayisha izithonjana ngomsebenzi oza ezibonelweni ezimbili engizinikeze ngaphambili.
Ngicabanga ukuthi iphutha licacile:
Iphutha: Isithonjana 'gtk-cut' asikho kutimu
Ngokusobala leso sithonjana asitholakali, sebenzisa esinye isithonjana. Mhlawumbe umnakekeli wephakeji akazange afake izithonjana zetimu noma ayikwazi ukutholwa endleleni ezenzakalelayo, sebenzisa ukusatshalaliswa kwe-GNU / Linux bese ubona ukuthi iphutha elifanayo lisavela yini.
Mayelana nombuzo 19, kubonakala sengathi ihlobene nenguqulo yePyGobject, phezulu kwemibhalo ethi:
Note
Izinhlobo zePyGObject = 3.0.3 ziyadingeka ukuze izibonelo ezilandelayo zisebenze.
Uhlobo onalo ngu-3.0, zama ukusatshalaliswa kwe-GNU / Linux; bese-ke kufanele sibalinde ukuthi bavuselele iphakethe (leWindows) noma kunjalo ungazihlanganisa ngokwakho.
Ukubingelela bese uqhubeka.
Ku-Ubuntu zonke izibonelo zokufundisa zisebenza kahle kimi. Ku-Windows, namanje ayisebenzi. Kuzofanele ngilinde. Okunye okungahambi kuyisibonelo se-Spinner, esingakwenzi ukugqwayiza. Ukubingelela nokubonga.
Ngilandele okokufundisa kokufaka futhi ngafaka konke igxathu negxathu.
Futhi usebenzisa ikhodi elandelayo:
kusuka ku-gi.repository import Gtk
isigaba FiestraPrincipal:
def __init __ (uqobo):
filename = "/ data / dam / Python exemplars / Saudoform"
umakhi = Gtk.builder ()
umakhi.add_from_file (igama lefayela)
# isichazamazwi lapho sihlobanisa i-sinais nemicimbi
i-sinais = {
«KuchofoziweYamukela»: self.clic_boton,
"Yenza kusebenzeTextCadro": self.clic_boton,
"I-DestroyFiestra": Gtk.main_quit
}
umakhi.connect_signals (sinais)
#Sithola ireferensi kwisichazi seXML ukuze sikwazi ukufinyelela kuso
self.label = self.widgets_widget ("Ilebula")
self.cadroTexto = self.widgets_widget ("I-CadroTexto")
def button_click (uqobo, iwijethi):
umbhalo = self.cadroTexto.get_text ()
i-self.label.set_text ("wave% s"% umbhalo)
uma __name__ == »__ main__»:
I-FiestraPrincipal ()
I-Gtk.Main ()
Ngithola le mpendulo:
I-Traceback (ucingo lwakamuva lugcine):
Ifayela «C: / Abasebenzisi / umphathi / i-Google Drayivu / isivivinyo / iSaudoForm.py», umugqa 3, ku
kusuka ku-gi.repository import Gtk
Ifayela "C: \ Python33 \ lib \ site-package \ gi \ __ init__.py", umugqa wama-27, ku
kusuka ._gi ukungenisa _API, Repository
Iphutha lokungenisa: Umthwalo we-DLL wehlulekile:% 1 akuyona uhlelo lokusebenza lwe-Win32 oluvumelekile.
Othile uyazi ukuthi yini inkinga, noma ukuthi kungaba yini isisombululo sayo.
Ngiyabonga kakhulu
Kuyathakazelisa. Bengikwenzile ukufakwa ku-linux, kepha incazelo yamawindows ilungile, manje senginayo yomibili. 😉
Kuyahlekisa kumawindi angama-7-bit 32 okokuqala.
Ku-Windows 7 64-bit, angikwazi ukuyiqhuba, ngihlala ngiyithola;
>>> kusuka ku-gi.repository import Gtk
I-Traceback (ucingo lwakamuva lugcine):
Ifayela «», umugqa 1, ku
Ifayela "C: \ Python33 \ lib \ site-package \ gi \ __ init__.py", umugqa wama-27, ku
kusuka ._gi ukungenisa _API
Iphutha lokungenisa: Umthwalo we-DLL wehlulekile: Inqubo ecacisiwe ayitholakalanga.
Ngizamile noma kanjani kungenzeka, sengivele ngilahlekelwe yinkohliso yokuyifaka.
Uzobona imitapo yolwazi engama-64-bit isinezimbungulu ezithile, sicela ufake inguqulo engu-32-bit yakho kokubili i-python ne-GTK + ukuze ungabi nezinkinga.
Akufanele ulahlekelwe yinkohliso 🙂
Sawubona, ngisebenza ne-python + gtk3, kuhle kakhulu manje ngisenkingeni encane ngifuna ukuguqula isithonjana sibe yifomu lami (iwindi) kuleli cala futhi ngiyakwazi ukuliguqula, ngiyabonga kusengaphambili, Sanibonani
shicilela amavidiyo alula wokuthi ungahlela kanjani ku-gtk + 3 nemikhonzo elula yama-tutorials
Isifundo esihle kakhulu. Ngiyabonga kakhulu ngomzamo wakho. Sanibonani.
Ngenze zonke izinyathelo futhi lapho ngiya ethembeni lokufakwa ngithole leli phutha.
I-Traceback (ucingo lwakamuva lugcine):
Ifayela «», umugqa 1, ku
kusuka ku-gi.repository import Gtk
Iphutha lokungenisa: Ayikho imodyuli eqanjwe ngokuthi 'gi'