Tichagadzira chirongwa chidiki nePyGTK 3.0 iyo inoshandawo kuPyGTK 3.4. Iyi diki GUI inokudzidzisa nzira yekukamura chirongwa kuita maviri kana anopfuura mafaera.
Unogona kushanyira dzidziso yaSebastian Pölsterl pane iyo nyowani PyGTK 3, heino dzidziso nyowani, ini ndinosiya iyi link:
http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Iyi ndiyo blog yaSebastian.
Kumwe kushoropodza kwedzidziso iyi naSebastian ndeyekuti haidzidzise nzira yekukamura chirongwa muzvikamu kana mumafaira akati wandei, zvingave zvakanaka kana akaratidzira muenzaniso wekuzviita nePyGTK 3.
Ese makuru uye akaomarara mapurogiramu akapatsanurwa kuita akawanda mafaera uye mafaera akaiswa kunyange mune mamwe madhairekitori, ndiko kuti, ari munzvimbo dzakasiyana maforodha.
Ngatitangei nemuenzaniso mudiki:
Heino kodhi yekunyora mune imwechete faira inonzi gui.py. Isu tinovhura iyo Gedit chinyorwa mupepeti kana mupepeti watinoshandisa zvakanyanya, tinoteedzera kodhi iri pazasi uye toichengeta segui.py
kubva ku gi.repository kupinza Gtk kirasi gui (): def on_open_clicked (pachezvayo, bhatani): purinda "\" Vhura \ "bhatani rakadzvanywa" def on_close_clicked (wega, bhatani): purinda "Kuvhara application" Gtk.main_quit () def __init__ . bhatani = Gtk.Button (label = 'Open') self.button.connect ("clicked", self.on_open_clicked) self.box.pack_start (self.button, True, True, 0) self.button = Gtk.Button ( label = 'Close') self.button.connect ("clicked", self.on_close_clicked) self.box.pack_start (self.button, Chokwadi, Chokwadi, 0) self.window.show_all () Gtk.main () kana __name__ == '__main__': gui = gui ()
def on_open_clicked (wega, bhatani): purinda "\" Vhura \ "bhatani rakadzvanywa"
Iri ibasa rinoitwa mumagetsi kana tadzvanya bhatani rakavhurika. Iyo chiratidzo kuimisa iri:
self.button.connect ("clicked", self.on_open_clicked) def on_close_clicked (self, button): purinda "Kuvhara application" Gtk.main_quit ()
Iri ibasa rinoitwa kana tikabaya pane bhatani rekuvhara.
vhara chirongwa chatinomhanya.
chiratidzo chekuimisa iri
self. ##
Widgets kuzivisa: majeti chirongwa chakatemerwa ne graphical interface raibhurari yatinoshandisa. Semuenzaniso, majeti ibhatani, hwindo, bhokisi, nezvimwe. Aya ndiwo majeti atinozivisa muchirongwa chedu.
kuzvidzora.window = Gtk.Window () ### hwindo ### self.box = Gtk.Box () ### bhokisi #### self.button = Gtk. # bhatani rakavhurika #### self.button = Gtk.Button (label = 'Vhara') #### kuvhara bhatani #### self.window.add (self.box) #### iro bhokisi riri mukati hwindo rinodaidzwa kuti window #### self.box.pack_start (self.button, True, True, 0) ##### bhatani racho riri mubhokisi rakanzi box ### self.window.show_all () ## # isu tinoratidza iyo hwindo rese ### gui = gui () ### gadzira chinhu chegui ####
Isu tinoisa chirongwa chedu mune dhairekita inonzi yakapusa kwatiri pane desktop
Isu tinovhura dhairekita neiyo terminal, mune yangu kesi ini ndinoshandisa Nemo kubva kuLinux Mint 14.
Kugadzirira isu tinoisa mune yekupedzisira python gui.py
ona mufananidzo.
Iye zvino tava kuona yedu diki chirongwa kana nyowani widget yakagadzirwa nePyGTK 3 maraibhurari
Iwindo rakapusa rine mabhatani maviri.
Iye zvino tinopatsanura chirongwa ichi muzvikamu zvitatu, ipapo ini ndinosiya kodhi yemafaira matatu.
Kutanga gui.py faira
kubva ku gi.repository kupinza Gtk kubva kuparadza kuunza kunze kuparadza kubva io kupinza io kirasi gui (kuparadza, io): def __init __ (self): self.window = Gtk.Window () self.window.connect ('delete-event', Gtk .main_quit) self.box = Gtk.Box () self.window.add (self.box) self.button = Gtk.Button (label = 'Open') self.button.connect ("clicked", self.on_open_clicked). self.box.pack_start (self.button, Chokwadi, Chokwadi, 0) self.button = Gtk.Button (label = 'Close') self.button.connect ("clicked", self.on_close_clicked) self.box.pack_start ( self.button, Chokwadi, Chokwadi, 0) self.window.show_all () Gtk.main () kana __name__ == '__main__': gui = gui ()
Chechipiri io.py faira
kirasi io: def on_open_clicked (pachezvayo, bhatani): purinda "\" Vhura \ "bhatani rakadzvanywa"
Chechitatu faira destroy.py
kubva ku gi.repository kupinza Gtk kirasi kuparadza: def on_close_clicked (pachezvayo, bhatani): purinda "Kuvhara application" Gtk.main_quit ()
Isu tinoisa matatu mafaera mune imwecheteyo folda kwatiri, iyo folda inonzi yakapatsanurwa yakakamurwa.
Kuumba mafaera matatu. Isu tinovhura dhairekitori neiyo terminal uye ndokungoidzosera mudura
python gui.py
Kugadziriswa kwakaitwa kune iyo gui.py kodhi
kubva kuparadza kupinza kunze kuparadza # # # chirevo kupinza yedu faira kuparadza.py # # # kubva io kupinza io # # # chirevo kupinza yedu faira io.py # # # kirasi gui (paradza, io): # # chikuru tinowedzera zvidimbu zvidimbu zvinoparadza uye io ####
Unogona kuona kuti chirevo
def on_open_clicked (wega, bhatani): purinda "\" Vhura \ "bhatani rakadzvanywa"
Haisi mugui.py, iri muiyo io.py faira
Mutongo
def on_close_clicked (wega, bhatani):
purinda "Kuvhara kunyorera"
Gtk.main_quit ()
iyo inowanikwa muparadza.py faira
Nekudaro isu tinogona kupatsanura chirongwa mune akawanda mafaera ari mune akasiyana madhairekitori panguva imwe chete.
Kune rimwe divi, Python ndiyo mbiru yesoftware yemahara, uye inochinjaniswa kuti ishande neGTK 3.6 /3.8, zita rayo ndiPyGTK. Kugadziriswa kwePython kweKDE kunonzi PyQT.
Python inoenderana neMac OS uye WINDOWS.
Ndinovimba iyi PyGTK3 mini dzidziso yakabatsira kwauri. Ivo vanogona kugadzira ese ekushoropodza anovaka avanoda.
Ini zvakare ndinoziva mamwe Gtk 3.4 /3.6 uye Vala GTK 3.4 / 3.6.
http://www.youtube.com/watch?v=9ckRn_sx8CE
Chekupedzisira, vashandisi veKDE vanokumbira ruregerero nekusaita mini dzidziso yeKDE.
Mu kde ini ndoda kushandisa kdevelop (ndinofunga ndizvo zvazvinodaidzwa) kugadzira iyo gui zviri nyore asi ndichine nguva yakaoma yekuwana maitiro ekuti zviitike x chinhu: '(
Yakakura kune avo vedu vanoshandisa Python: D!
Ndinokutendai!
Mhoroi, ndanga ndichiteedzera nharaunda ino kwenguva yakareba uye handina chokwadi kana aka ndiko kekutanga kutaura kana kuti ndakatozviita kare 😀 (ini handina kunyatsopihwa kunyora zvirevo pawebhu chaizvo). Chinhu ndechekuti ini ndinozviita kuti ndisiye zano kuna Elav naKZKG ^ Gaara sevatungamiriri, uye ndinofunga chingave zano rakanaka kuwedzera plugin ye syntax coloring izvozvi izvozvi munguva pfupi yapfuura ini ndinoona zvimwe zvinyorwa zvine kodhi mumitauro yakasiyana yekuronga. Ndinoziva pane akati wandei plugins asi ini handina kuyedza chero sezvo ndisiri izwi reshandisi, saka ndinokusiya kuti ufunge nezve kugona kwechikumbiro. Ini ndinotora uyu mukana kubvunza vamwe vese vaverengi kuti ivo vanofungei nezve zano, nekuti ndinoziva kuti kune vanhu kunze uko vanofarira kuverenga kodhi vasina chero kushongedzwa. Ini ndinokumbira ruregerero kana izvi zvakatotaurwa pano uye zvakarambwa nechimwe chikonzero, sezvo ini ndisingarangariri ndichiona chero hurukuro panhau iyi.
Chokwadi ndechekuti ndinoda kuve nesarudzo yekupenda syntax yekusimbisa kodhi yemitauro yekuronga.
Izvo zvaizobatsira vashandisi vanoda kudzidza mitauro yekuronga.
Asi hei, ini ndinogadzikanawo ne foramu uye kuti tinogona kukurukura nekudzidza pamwe chete.
GNU Emacs inosununguka, nekuti zvirinani iwe unofanirwa kusarudza kuti ndeupi programming wekutarisa iwe waunoda kushanda (kana iwe usiri kuda huremu hwakawanda hwe processor yako, shandisa GNU Nano uye unakirwe minimalism pazvakanyanya).
Elio tiri kutaura nezve WordPress. Inoshandiswa pablog Desde Linux. Haina mabasa ekupenda mavara ezvinyorwa.
Ah ndine hurombo.
Naaa emacs inokodzera kune avo vane makumi masere nemakumi mana nematanhatu XD .., vanhuwo zvavo, mameseji, sublimetext kana notepad ++ xd
Chinhu chisingafungirwe hachisi kudzidza typing, izvo zvinodiwa kuti ugone kubata GNU Emacs uye ayo mapfupi ekhibhodi zvakanaka. Uye zvakare, iyo GUI inoita kuti zvive nyore kwauri kuti ushandise mamenu ayo (inogona kushandiswa muWindows, asi haina kukurudzirwa kuti uzviite neyakajairwa modhi asi nemirairo yekukurumidza maitiro kuitira kuti win32 isarambe script yako).
Yakanaka kwazvo dzidziso. Asi nenzira, iyo python sosi kodhi haina kunyorwa, mutauro unodudzirwa.
Iyo inogona kuve yakanyorwa kune pseudo kodhi. Hausi mutauro wemuchina asi mabheti anomiririra chimwe chinhu kumuturikiri, asi maitiro acho anonzi akaunganidzwa futi. Mupfungwa iyi, zvinokwanisika kutaura kuti chimwe chinhu chakanyorwa.
Zvichida zvirinani kudzidza pytgk2 nekuti vhezheni yazvino inowanikwa yeWindows ndeye 2.24. Series 3 inozivikanwa nekusavapo kwayo. Uye ndimi dzakaipa dzinoti gnome inoputsa maapis mune imwe neimwe vhezheni.
Ini ndinoronga mockup neGTK 3.4 / 3.6 uye chokwadi ndechekuti vanotyora kushivirira kwako nemusoro wako, iwe unofanirwa kunyora zvakare kodhi, ikozvino ndinonzwisisa kuti sei vanhu veLinux Mint vachinyunyuta nezveGTK uye iyo GNOME chirongwa.
Kune avo veMINT ndinobvumirana neGTK 2.4 izvi hazvina kuitika.
Dzidziso yakanaka uye mareferensi.
Ingori ruzivo, sezvo kodhi yakaiswa mukati, muPentent indentations inosungirwa uye inofanira kuremekedzwa mune yemuenzaniso kodhi.
Ndinokutendai!
Unogona here kutsanangura izvo zvinosungirwa kuzivikanwa muPython zvine? Kuti ndikuudze chokwadi, handisati ndambonzwa izvozvo. Ini ndakanyanyojaira iyo PyGTK 2/3 maforamu muChirungu uye pamwe ini ndinotarisa.
MuPython haushandise makiyi senge muC kana kutanga / kumagumo mabhureki sePascal, asi zvese zvinonzwisiswa kuburikidza neiyo induction yaunopa kune iyo kodhi. Ndokunge, mabhuroko anoonekwa seari kuiswa mukati. Icho chinhu chandinonyanya kuda. Iwe unodzivirira kunyora makiyi nezvinhu zvakadaro.
Ini handidi izvo, zvinoita kunge zviri nyore kuisa maviri madiki makiyi kana std :: dzimba;, pane kuonekwa kana iyo xd mutsetse wakarongedzwa zvakanaka
: p Mudzidzisi wako wepurogiramu achaisa 0 kwauri. Kana zvakatonyanya ivo vachakudzinga pabasa rako. Izvo zvinonyanya kukosha ndezvekuti kodhi inoverengwa nezvose izvo zvinoreva
kupera nekuvhara brace, zvinoita kuti ndiverenge zvakanyanya XD ..
Zvakakomba ???
int main(int argc, char *argv[]){program_name = argv[0];while ((argc > 1) && (argv[1][0] == '-')) {switch (argv[1][1]) {case 'v':verbose = 1; break;case 'o':out_file = &argv[1][2];break;case 'l':line_max = atoi(&argv[1][2]);break;default:fprintf(stderr,"Bad option %s\n", argv[1]);usage();}++argv;--argc;} if (argc == 1) {do_file("print.in");} else {while (argc > 1) {do_file(argv[1]);++argv;--argc;}}return (0);}
Maona? Pasina indentations haina kunyatsonzwisiswa. Uye izvo zviri nyore. Neyakaomesesa, iye chete muunganidzi anozvinzwisisa. Chinhu ndechekuti, sezvo UNOFANIRA indent zvakadaro (kuti vanhu vanzwisise kodhi) nei zvingave zvakawandisa uye kushandisa vaparadzanisi? Zvakwana ne induction uye ndizvozvo.
Ehezve, hapana chinonzwisiswa, nekuti hausi kuremekedza mirairo yekunyora kwakanaka kwechirongwa mu c / c ++. Izvo iwe zvawakaita zvinoshanda kune chero chinhu, sekudyara basa, mukati mekuita basa mukati meimwe basa iri mukati meimwe, saka ini ndoda kukuona iwe xd kana uchikwanisa kuzvinzwisisa.
nenzira, nekutaridzika kuviri, iyo kodhi inonzwisisika nyore xD
Zvandakaita ini ndakazviitira nemaune kukuratidza izvo pasina induction, kunyangwe ichinyora, zvinonetsa kuti unzwisise chero kodhi. Saka iwe une mitemo miviri: Indent uye inosanganisirwa ne delimiters. Asi izvo hazvishandi. MuPython yakadaro kodhi haigamuchirwe nemuturikiri. Uye iwe unongova nemutemo mumwe chete: Indent. Nyore.
Asi hei, munhu wese ane zvavanofarira.
Ose ari maviri akanaka, akaiswa mukati uye asina-indenti, mumaonero angu ini ndinofarira iyo semicolon maitiro kana ruby, yakafanana ne python asi iyo induction haina kudikanwa.
Izvi zvinonzwisiswa zvirinani: P:
echo 'int main (int argc, char * argv []) {program_name = argv [0]; nepo ((argc> 1) && (argv [1] [0] ==' - ')) {chinja (argv [ 1] [1]) {kesi 'v': verbose = 1; kupaza; kesi 'o': kunze_file = & argv [1] [2]; kutyora; kesi 'l': line_max = atoi (& argv [1] [2]); break; default: fprintf (stderr, »Yakashata sarudzo % s \ n », argv [1]); shandisa ();} ++ argv; –argc;} kana (argc == 1) {do_file (" print.in ");} zvimwe {apo (argc> 1 ) {do_file (argv [1]); ++ argv; –argc;}} dzoka (0);} '| perl -p -e 's / \ {/ \ {\ n \ t / g; s / \; / \; \ n \ t / g; s / \ t \} / \} / g;'
Kwaziso 😀
Ini ndinofunga Carlos zvinoreva kuti panobuda kodhi hapana indents. Izvo zvine kopi & unama hazvishande. Ini handizive kana iyo taki iripo paigadzira posvo
kuisa kodhi yemitauro. Zvingave zvakanaka kana vakaiisa kana isipo.
Ini ndatoona kuti dambudziko nderei: iyo CODE Tag inobvisa nzvimbo dzese nematebhu (haifanire kuita izvozvo !!!) Asi kana iwe ukaisa nbsp pairi ipapo kodhi inotaridzika zvakanaka. A0 mu hex (160 muna dec) kunyangwe ndichifunga kuti inogona kutsamira pafonti (ini handizive). Kana ikashandiswa zvino inobuda seizvi:
def fib(n):
a, b = 0, 1
while a < n:
print(a)
a, b = b, a+b
Kuti mumiyedzo yangu inoita senge yakanaka, asi ini handina preview pandinotumira mhinduro (uye panofanira kunge paine icho !!!) Kana zvikasabuda, haisi yangu mhosva
Tarisa uone iyo mienzaniso iyo Sebastian Pölsterl anopa mune yake PyGTK 3 dzidziso, Sebastian haaise mavara.
Muenzaniso:
http://python-gtk-3-tutorial.readthedocs.org/en/latest/entry.html#example
unogona kuona zvese zvedzidziso yaSebastian.
Handizivi zvaunoreva. Zvandiri kutaura ndezvekuti pano, mune zvakatumirwa, hazvigoneke kushandisa iyo HTML Tag «CODE» kuitira kuti izvo iwe zvaunoisa sekodhi uye zvinyatsobuda zvakanaka indented. Pa peji iwe raunoreva, kana iwe ukaona iwo masosi epeji, iwe uchaona kuti haishandise CODE asi inoshandisa mamwe maHTML delimiters.
Izvo hazvipesane nekodhi iwe yaunoisa asi pane kunongedza kukanganisa mune yekutumira sisitimu ino. Izvo, pamwe, maAdmin anogona kugadzirisa.
Kana ndotaura nezve ma tag ndiri pachena kutaura nezve HTML, kwete Python. Chero zvazvingaitika, kana iwe ukaisa kodhi isina induction mu Python haingoshanda. Kana newbie akauya akopa kodhi yacho sezvazvinowanikwa mune ino positi uye akaedza kuimhanya, anotadza. Unogona kushushikana sezvo uri newbie. Zvakare, mhosva haisi yako; uye mumhinduro yangu yapfuura yapfuura izvo zvandakaita kupa nzira yekugadzirisa dambudziko kubva kune mushandisi-ndiani-anotumira nhanho.
Warevesa chaizvo, ndinofanira kunge ndakaisa mafoto pane kutevedzera kodhi.
kuratidza kuti zvirevo zvinorairwa zvakanaka sei muPyGTK 3.
Kuronga ne python ini ndinokurudzira kushandisa Eclipse nePyDev plugin, kana iyo Pychar m
Sezvambotaurwa pamusoro, ndosaka ndisingade python, nekuda kweiyo indentations. Sezvatakaona, kuteedzera nekuteedzera hakushande, izvo zvisingaitike nedzimwe mitauro senge C, Java, PHP, nezvimwe.
Chinhu chinoverengeka, isu tinoshandisa kodhi yekushongedza (senge http://indentcode.net/ ) uye takagadzirira,
Chinhu chakashata chakagadziriswa, asi kana pasina chekudzidzira uye pfungwa dzakashandurwa, tinonzwika ...
Ini ndiri mutsva kuPyGTK, zvinokwanisika here kudyidzana nezvinyorwa zveShell mumutauro uyu?
Kutenda dzidziso.
Thanks.