Horudhac
GNU / Linux barnaamijyada soosaarida Python 3, Glade iyo GTK + 3 waa mid aad ufudud, xirmooyinka ayaa si caadi ah ugu yimaada qaybinta badankood.
Thanks to Dhalashada waxaan abuuri karnaa isdhexgalka isticmaaleyaasha si dhakhso leh oo fudud kadibna waxaan u adeegsan karnaa Python. Si taas loo gaaro waxaad isticmaashaa PyGObject mahadsanid nidaamka isdhexgalka ee ay bixiso GNOME, kaas oo ka dhigaya Horumarinta Codsiga Degdegga ah (RAD) mid aad u fudud; sidoo kale waa suurtagal in lagu isticmaalo is-dhex-dhexaadkeenna lagu abuuray Glade luqadaha kale ee barnaamijka.
Dhibaatadu waxay soo ifbaxday markaan rabno inaan ku isticmaalno barnaamijyadeenna Microsoft Windows, illaa iyo dhowaan xirmooyinka nidaamkaan si rasmi ah uma aysan jirin.
Casharradan waxaa loogu talagalay in barnaamijyada lagu sameeyay GNU / Linux iyadoo la adeegsanayo Python 3 iyo GTK + 3 ay ku socdaan dhibaato la'aan Windows.
Shuruudaha
- Python 3.3
- Gtk + 3
- Glade 3.14 ama ka sareeya (naqshadeeyaha GUI)
- pygobject
Ku rakibida Windows
Waxay ku bilaaban doontaa sameynta galka la yiraahdo software ama mid kale oo aad doorbidayso waana ku keydin doonnaa dhammaan xirmooyinka la soo dejiyey.
Soo dejiso xirmooyinka rakibaadda
Soo dejiso Python 3.3
Waxaa lagala soo bixi karaa bogga rasmiga ah ee Python Python.org
Adiga oo gujinaya xiriirka (Windows Installer) rakibayaasha Python ayaa soo dejinaya.
Soodejiso Glade
Degso soo dejiso: glade.gnome.org
Labada nooc ee Python iyo Glade waa 32-bit, laakiin waxay ku shaqeeyaan dhibaato la'aan nidaamyada 64-bit
Soodejiso PyGObject
Degso soo dejiso: https://wiki.gnome.org/PyGObject
Waa inaan kala soo baxnaa nooca GTK + 3
Ku rakibidda xirmooyinka
Hagaag ilaa heerkaan waxaan horeyba uguheynay dhamaan xirmooyinka lasoo dejiyay galka software oo sidii aan u soo dejinay xirmo kasta waxaan marka hore ku bilaabaynaa rakibidda Python.
Rakibaadda Python
Rakibaadda waa mid aad u fudud, saaxir ah ayaa nagu hagi doona hawsha; Waxaan ka tagnaa dhammaan xulashooyinka lagu calaamadeeyay hab-dhaqan ahaan
Sida sawirka ka muuqata, Python wuxuu ku rakibayaa galka C: \ Python33 \ Sida caadiga ah, waxaan uga tagnaa sidii hore oo waxaan ku sii wadnaa rakibida.
Waqtigan xaadirka ah ee rakibida waxaan dooranaynaa ikhtiyaarka Kudar Python.exe Jidka, iyada oo ujeedadu tahay in markaan bilowno tarjumaanka Python la fuliyo iyada oo aan loo baahnayn in lagu daro habka nidaamka gacanta.
Kadib waan dhameyneynaa rakibaadda Python-na waxaa lagu dhejin doonaa nidaamkeena.
Rakibaadda Glade
Rakibida Glade ma matasho dhibaato weyn, waxaan wadnaa barnaamijka rakibaadda oo waxaan raacnaa tillaabooyinka saaxir.
Rakibaadda PyGObject
Waxaan soo degsanay xirmada pygi-aio-3.4.2rev11.7z, xirmadan waxaa ka mid ah PyGObject loogu talagalay Python 3.3 iyo maktabadaha GTK + 3 ee Windows, oo lagu cabiray 7-Zip, Waanu fureynaa waxaanan lahaan doonnaa galka ay kujiraan waxyaabaha soo socda:
Hadda waxaan nuqul ka galnay gtk a C: \ Python33 \ Lib \ xirmooyinka-baakadaha taas oo ah halka ay ku rakiban yihiin baakadaha saddexaad ee Python.
Waxaan dib ugu laabaneynaa galkayaga pygi-aio-3.4.2 rev11 waxaanan fureynaa galka py33 nooca Python-ka oo ah 3.3
Waxaan dooranaa dhammaan waxyaabaha ku jira gal galka py33 oo waxaan dib ugu guurineynaa galka C: \ Python33 \ Lib \ xirmooyinka-baakadaha, waxaa naloo weydiin doonaa inaan isku qasno oo aan dib u qoro, waxaan uga jawaabnaa si sax ah. Waxyaabaha ku jira galka xirmooyinka goobta waxay noqon laheyd sida ka muuqata sawirka soo socda:
Hubinta rakibida saxda ah ee PyGobject iyo GTK + 3
Si loo hubiyo in rakibisteena ay sax ahayd, waxaan fureynaa Python IDLE oo waxaan soo dajineynaa maktabadaha GTK + 3 hadaanan wax qalad ahna fariin laheyn, wax walba si sax ah ayaa loo qabtay.
from gi.repository import Gtk
Maxay tahay sababta GTK? Miyaanay fiicnaan lahayn in lagu horumariyo QT? ka sokow in lagu badiyo qaab-dhismeedka badanna waxay yiraahdaan waa mustaqbalka
Hagaag, labada maktabadood ee garaafyada weyn ee kuyaala desktop-ka GNU / Linux waa GTK iyo QT, midkastaaba wuxuu doortaa midka uu doorbido. Ma jirto sabab loo dagaallamo.
Farqiga u dhexeeya GTK iyo QT ayaa ah kan dambe inuu yahay qaab-dhismeed, aad u wanaagsan runtii, laakiin inuu yahay qaab wuxuu cunaa xoogaa ilo dheeri ah.
Tusaale ahaan Mozilla Firefox, Google Chrome, LibreOffice iyo dherer iwm ayaa lagu sameeyaa GTK; Tani macnaheedu maaha inay ka wanaagsan tahay QT, qof walba waa inuu doortaa midka ku habboon dookhooda iyo baahidiisa, ma dooneyno inaan dood ka dhalanno.
Google chrome oo ka yimid nooca 33, ka tag gtk.
iyo sababta sharraxaadda daaqadaha oo aan ahayn Linux
Sababtoo ah Linux wax walboo horeyba waa loo duubay iyo keydka rasmiga ah ee distoor kasta? Fedora, tusaale ahaan, waxaan horeyba ulahaa Python 3, Gtk + 3, iyo PyGobject asal ahaan. Haddii aan doonayo Glade, waa uun "yum install glade". Sax ma tahay? 🙂
Sababtoo ah sida Germán u yiraahdo, qaybinta GNU / Linux horey ayey u baakadeeyeen waana wax aad u fudud in la rakibo; tusaale ahaan si loogu rakibo glade on Debian waa mid aad u fudud:
aragti ku rakib glade
Haddii aan doonayo inaan isticmaalo Python 2.7 tallaabooyinku miyay isku mid noqon doonaan?
Sida iska cad, rakibidda 2.7-bit Python 32 (xitaa haddii aad isticmaasho OS 64-bit) iyo halkii aad ka heli lahayd galka py33, 2.7 ayaa tagi lahaa. Ma shaqeyn lahaa?
Waad ku mahadsan tahay.
Hagaag haa, haddii aad dhibaato leedahay, aniga ii dhaaf faallo.
Nasiib wacan
Mahadsanid, horeyba waan iskuday waana hada "aduunyada Hello" way ilashaqaysaa.
Waan arkaa haddii aan heli karo casharro wanaagsan oo pyGTK3 ah ama wax alla wixii la yiraahdo iyo wixii dhibaato ah, digniin ah.
Cashar barasho:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Aad baad u mahadsantahay!
Tijaabinta GTK3 ee loo yaqaan 'Python 2.7' ee Windows iyo raacitaanka casharka. Illaa iyo hadda dhammaan barnaamijyadu aniga ayey ii shaqeeyaan, marka laga reebo midka ku jira Cutubka 14aad (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
Waxay i siisaa qaladka soo socda:
Raad-raac (wicitaankii ugu dambeeyay ee ugu dambeeyay):
Faylka "C: \ Users \ User \ Desktop \ test.py", safka 24, gudaha
guuleysato = IconViewWindow ()
Faylka "C: \ Users \ User \ Desktop \ test.py", safka 19, ee __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (astaan, 64, 0)
Faylka "C: \ Python27 \ lib \ xirmooyinka-baakadaha \ gi \ types.py", safka 47, oo shaqeynaya
soo celi info.invoke (* args, ** kwargs)
GError: Icon 'gtk-cut' kuma jiro mowduuca
Waxaan ku tijaabiyay astaamo kale oo isna ma shaqeynayo Ma u baahanahay inaan rakibo mawduuc? Waad mahadsantahay ilaa hada.
Midkoodna Tusaalaha 19. Jiid iyo Diid.
Shaqada u yeerta labada xaaladood waana meesha aan qalad ka helo:
pixbuf = Gtk.IconTheme.get_default (). load_icon (icon_name, 16, 0)
Ma heli karo astaanta, laakiin tusaalooyin kale waad isticmaali kartaa. Kaliya waxay i siisaa qalad markaan rabo inaan ku adeegsado hawshaas (halkan icon_name waxaa lagu badali karaa qiime sida Gtk.STOCK_CUT ama waxkasta oo waxay siisaa isla qalad isku mid ah).
Waan sii hadlayaa naftayda. Waxa aniga ila shaqeeya tusaalooyin kale ayaa ah in sawirada ay ku shuban yihiin badhamada. Anigu kuma dhejin karo astaamaha hawsha ka socota labada tusaale ee aan hore u soo sheegay.
Waxaan u maleynayaa in qaladku cad yahay:
GError: Icon 'gtk-cut' kuma jiro mowduuca
Sida muuqata astaantaas lama heli karo, isticmaal astaan kale. Waxay u badan tahay in dayactirka xirmada uusan ku jirin astaamaha mawduuca ama laguma heli karo dariiqa saxda ah, adeegso qeybinta GNU / Linux oo fiiri haddii qalad isku mid ah wali soo muuqanayo
Marka laga hadlayo su'aasha 19, waxay umuuqataa inay xiriir la leedahay nooca PyGobject, xagga sare ee dukumiintiyada waxay leedahay:
note
Qaybaha PyGObject = 3.0.3 ayaa looga baahan yahay tusaalooyinka soo socda si ay u shaqeeyaan.
Nooca aad haysataa waa 3.0, isku day qaybinta GNU / Linux; ka dibna waa inaan ka sugno inay cusbooneysiiyaan xirmada (ee Windows) ama xaalad kasta oo aad adigu isku duba ridi karto naftaada.
Salaan ka dibna sii soco.
Ubuntu dhammaan tusaalooyinka casharradu aniga si fiican ayey iigu shaqeeyaan. On Windows, weli ma shaqeeyo. Waa inaan sugaa. Mid kale oo aan socon waa tusaale Spinner, oo aan samayn animation. Salaan iyo mahadsanid.
Waxaan raacay casharradii rakibida oo waxaan ku rakibey wax walba talaabo talaabo.
Iyo fulinta koodhka soo socda:
laga keeno gi.kaydinta soo dejinta Gtk
fasalka FiestraMaamulaha:
isdifaac __init __ (is):
filename = "/ data / dam / Python exemplars / Saudoform"
dhise = Gtk.builder ()
dhise.add_from_file (magaca faylka)
# qaamuuska halka aan kulaxiriirno sinjiga iyo dhacdooyinka
sinais = {
«ClickedAccept»: self.clic_boton,
"ActivateTextCadro": self.clic_boton,
"DestroyFiestra": Gtk.main_quit
}
dhisaha.connect_signals (sinais)
#Waxaan helnaa tixraac sharaxeyaha XML si aan awood ugu yeelano
self.label = self.widgets_widget ("Label")
self.cadroTexto = self.widgets_widget ("CadroTexto")
def button_click (is, widget):
qoraal = self.cadroTexto.get_text ()
self.label.set_text ("qoraalka% s"% qoraalka)
haddii __name__ == »__ ugu weyn»:
FiestraPrincipal ()
Gtk.Main ()
Waxaan helay jawaabta:
Raad-raac (wicitaankii ugu dambeeyay ee ugu dambeeyay):
Faylka «C: / Users / admin / Google Drive / test / SaudoForm.py», sadarka 3, gudaha
laga keeno gi.kaydinta soo dejinta Gtk
Faylka "C: \ Python33 \ lib \ xirmooyinka-baakadaha \ gi \ __ init__.py", sadarka 27, ee
ka ._gi soo dajinta _API, Keydinta
ImportError: DLL load wuu guuldareystay:% 1 maahan codsi Win32 ansax ah.
Qof baa og waxa dhibaatadu tahay, ama waxa ay xal u noqon karto.
Waad ku mahadsantihiin.
Xiiso leh Waxaan ku rakibey linux, laakiin sharraxaadda daaqadaha waa hagaagsan tahay, hadda labadaba waan ku hayaa. 😉
Waa wax lagu qoslo daaqadaha 7-bit 32 markii ugu horeysay.
On Windows 7 64-bit, kama dhigi karo inuu ordo, had iyo jeer waan helaa;
>>> laga bilaabo gi.repository soo dejinta Gtk
Raad-raac (wicitaankii ugu dambeeyay ee ugu dambeeyay):
Faylka «», sadarka 1, gudaha
Faylka "C: \ Python33 \ lib \ xirmooyinka-baakadaha \ gi \ __ init__.py", sadarka 27, ee
ka ._gi soo dajinta _API
ImportError: DLL load wuu fashilmay: Nidaamkii la cayimay lama helin.
Waxaan isku dayay si kasta oo ay macquul tahay, horeyba waan u lumay dhalanteedkii aan ku rakibayay.
Waxaad arki doontaa maktabadaha 64-bit oo wali ay jiraan waxoogaa cilad ah, fadlan rakib nooca 32-bit ee Python-ka iyo GTK + labadaba si aanad wax dhibaato ah u qabin.
Marnaba waa inaadan lumin dhalanteedka 🙂
Haye, waxaan la shaqeynayaa Python + gtk3, waa wax aad u wanaagsan hada waxaan ku jiraa dhibaato yar waxaan rabaa inaan u bedelo astaanta qaabkeyga (daaqada) kiiskan waana badali karaa, horay ayaan ugu mahadcelinayaa
daabacaan fiidiyowyo fudud oo ah sida barnaamij loogu sameeyo gtk + 3 iyo salaanta casharrada fudud
Cashar wanaagsan. Aad baad ugu mahadsantahay dadaalkaaga. Salaan.
Waxaan sameeyay tillaabooyinka oo dhan markii aan aaminay rakibaadda waxaan helay qaladkan.
Raad-raac (wicitaankii ugu dambeeyay ee ugu dambeeyay):
Faylka «», sadarka 1, gudaha
laga keeno gi.kaydinta soo dejinta Gtk
ImportError: No module loo yaqaan 'gi'