Mes ketiname sukurti nedidelę programą su PyGTK 3.0, kuri taip pat tinka PyGTK 3.4. Ši maža GUI išmokys jus padalinti programą į du ar daugiau failų.
Galite apsilankyti naujojo „PyGTK 3“ Sebastiano Pölsterlio pamokoje, čia yra nauja pamoka, aš palieku nuorodą:
http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Tai Sebastiano tinklaraštis.
Viena šios Sebastiano pamokos kritika yra ta, kad joje nemokoma padalinti programos į dalis ar į kelis failus, būtų buvę gerai, jei jis parodytų pavyzdį, kaip tai padaryti su PyGTK 3.
Visos didelės ir sudėtingos programos yra suskirstytos į daugelį failų, o failai netgi dedami į kitus katalogus, tai yra, jie yra skirtinguose aplankuose.
Pradėkime nuo mažo pavyzdžio:
Čia yra rašymo kodas viename faile, vadinamame gui.py. Atidarome „Gedit“ teksto redaktorių arba labiausiai naudojamą redaktorių, nukopijuojame žemiau esantį kodą ir išsaugome jį kaip gui.py
iš gi.repository importuoti Gtk klasę gui (): def on_open_clicked (self, button): print "\" Open \ "button was clicked" def on_close_clicked (self, button): print "Uždaroma programa" Gtk.main_quit () 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. mygtukas = 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 = 'Uždaryti') self.button.connect ("spustelėjo", self.on_close_clicked) self.box.pack_start (self.button, True, True, 0) self.window.show_all () Gtk.main () if __name__ == '__main__': gui = gui ()
def on_open_clicked (savarankiškai, mygtukas): Spausdinti "\" Atidaryti \ "mygtukas buvo spustelėtas"
Tai funkcija, kuri suaktyvinama terminale, kai spustelėsime atidarymo mygtuką. Signalas jį suaktyvinti yra:
self.button.connect ("clicked", self.on_open_clicked) def on_close_clicked (self, button): print "Uždaroma programa" Gtk.main_quit ()
Tai funkcija, kuri įjungiama spustelėjus mygtuką Uždaryti.
uždarykite vykdomą programą.
signalas jį suaktyvinti yra
self.button.connect ("clicked", self.on_close_clicked) iš gi.repository importo Gtk ### mes iškviečiame PyGTK bibliotekas ### class gui (): ### klasės apibrėžimas vadinamas gui yra pagrindinė klasė # ##
Valdiklių deklaravimas: valdikliai yra programa, kurią iš anksto nustato GUI bibliotekos, kurias naudojame. Pvz., Valdikliai yra mygtukas, langas, langelis ir kt. Tai yra valdikliai, kuriuos deklaruojame savo programoje.
self.window = Gtk.Window () ### window ### self.box = Gtk.Box () ### box #### self.button = Gtk.Button (label = 'Open') ### # atidarymo mygtukas #### self.button = Gtk.Button (label = 'Close') #### uždarymo mygtukas #### self.window.add (self.box) #### langelis yra langas, vadinamas langu #### self.box.pack_start (self.button, True, True, 0) ##### mygtukas yra laukelyje, pavadintame langelyje ### self.window.show_all () ## # mes parodysime visą langą ### gui = gui () ### sukurti gui objektą ####
Savo programą dedame į aplanką, paprastu vadinamą darbalaukyje
Mes atidarome aplanką su terminalu, mano atveju aš naudoju „Nemo“ iš „Linux Mint 14“.
Norėdami sukompiliuoti, įdėjome į terminalą python gui.py
pamatyti paveikslėlį.
Dabar galime pamatyti mūsų mažą programą ar naują valdiklį, sukurtą naudojant „PyGTK 3“ bibliotekas
Tai paprastas langas su dviem mygtukais.
Dabar programą padalijame į tris dalis, tada palieku trijų failų kodą.
Pirmasis „gui.py“ failas
iš gi.repository importuoti Gtk iš sunaikinti import sunaikinti iš io importuoti io klasę gui (sunaikinti, 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, True, True, 0) self.button = Gtk.Button (label = 'Close') self.button.connect ("clicked", self.on_close_clicked) self.box.pack_start (self.button, True, True, 0) self.window.show_all () Gtk.main () if __name__ == '__main__': gui = gui ()
Antrasis „io.py“ failas
class io: def on_open_clicked (self, button): print "\" Atidaryti \ "mygtukas buvo spustelėtas"
Trečias failas destr.py
iš gi.repository importuoti Gtk klasę sunaikinti: def on_close_clicked (savarankiškai, mygtukas): spausdinti „Uždaroma programa“ Gtk.main_quit ()
Mes patalpiname tris failus tame pačiame aplanke, aplankas vadinamas paprastu dalijimu.
Norėdami sudaryti tris bylas. Mes atidarome aplanką su terminalu ir paprasčiausiai įdėkite jį atgal į terminalą
python gui.py
„Gui.py“ kodo pakeitimai
iš sunaikinti importuoti sunaikinti ### pareiškimą importuoti failą pagrindinis pridedame poklasius sunaikinti ir io ####
Matote, kad sakinys
def on_open_clicked (savarankiškai, mygtukas): Spausdinti "\" Atidaryti \ "mygtukas buvo spustelėtas"
Jo nėra gui.py, jis yra io.py faile
Sakinys
def on_close_clicked (savarankiškai, mygtukas):
spausdinti „Uždarymo programa“
Gtk.main_quit ()
jis yra faile destr.py
Taigi galime programą padalinti į daugelį failų, esančių skirtinguose kataloguose tuo pačiu metu.
Kita vertus, „Python“ yra laisvos programinės įrangos ramstis ir jis pritaikytas dirbti su GTK 3.6 /3.8, jo pavadinimas yra PyGTK. „Python“ pritaikymas KDE vadinamas „PyQT“.
„Python“ pritaikytas „Mac OS“ ir „WINDOWS“.
Tikiuosi, kad ši „PyGTK3“ mini pamoka jums buvo naudinga. Jie gali pateikti visą norimą konstruktyvią kritiką.
Taip pat žinau kai kuriuos „Gtk 3.4 /3.6“ ir „Vala GTK 3.4 / 3.6“.
http://www.youtube.com/watch?v=9ckRn_sx8CE
Galiausiai, KDE vartotojai atsiprašo, kad nedarė mini mokymo programos KDE.
Kde aš norėčiau naudoti kdevelop (manau, kad taip vadinama), kad galėčiau lengvai sukurti gui, bet man vis dar sunku rasti procesų, kad tai įvyktų x dalykas:
Puiku tiems iš mūsų, kurie naudojasi Python: D!
Sveiki atvykę!
Sveiki, aš ilgai stebiu šią bendruomenę ir nesu labai tikras, ar tai yra pirmas kartas, kai aš komentavau, ar aš tai dariau anksčiau 😀 (man nėra labai duota rašyti komentarus internete). Reikalas tas, kad aš tai darau norėdamas palikti Elavui ir KZKG ^ Gaarai kaip administratoriams pasiūlymą, ir manau, kad būtų gera idėja pridėti sintaksės papildinį, nes pastaruoju metu matau daugiau įrašų su kodu skirtingomis programavimo kalbomis. Žinau, kad yra nemažai įskiepių, bet aš jų neišbandžiau, nes nesu „WordPress“ vartotojas, todėl palieku galvoti apie užklausos perspektyvumą. Naudodamasis proga paklausiu likusių skaitytojų, ką jie mano apie idėją, nes žinau, kad yra žmonių, kurie mieliau skaito kodą be jokio puošmenos. Atsiprašau, jei čia jau buvo pakomentuota ir dėl kažkokių priežasčių buvo atmesta, nes nepamenu, kad būtų diskutuota šia tema.
Tiesa ta, kad norėčiau turėti galimybę nuspalvinti sintaksę, kad paryškintumėte programavimo kalbų kodą.
Tai padėtų vartotojams, norintiems išmokti programavimo kalbų.
Bet ei, man taip pat patinka forumas ir kad mes galime kartu diskutuoti ir mokytis.
„GNU Emacs“ yra patogesnis, nes bent jau turite pasirinkti, kurioje programavimo kalbos tikrintuvoje norite dirbti (jei nenorite, kad jūsų procesorius turėtų daugiau svorio, naudokite „GNU Nano“ ir mėgaukitės kuo puikiausiai minimalizmu).
Elio estamos hablando de Worpress . Implementado en el blog Desde Linux. No tiene las funciones para dar color a las letras de los posteos .
Oi, atsiprašau.
„Naaa emacs“ patogus tiems, kurie turi 84 pirštus XD .., normaliems žmonėms, teksto draugui, sublimetextui ar bloknotui ++ xd
Neįtikėtina tai, kad neišmokote spausdinti, o tai reikalinga norint gerai valdyti „GNU Emacs“ ir jo sparčiuosius klavišus. Be to, dėl jo GUI palengvina meniu naudojimą (jis gali būti naudojamas sistemoje „Windows“, tačiau nerekomenduojamas tai daryti įprastu režimu, o komandų eilutės režimu, kad „Win32“ neb boikotuotų jūsų scenarijaus).
Labai šauni pamoka. Bet, beje, pitono šaltinio kodas nėra sudarytas, tai yra aiškinama kalba.
Jis gali būti sudarytas pagal pseudo kodą. Ne mašininė kalba, o baitai kažką reiškia vertėjui, tačiau procesas taip pat vadinamas sukompiliuotu. Šia prasme galima sakyti, kad kažkas yra surašyta.
Galbūt geriau išmokti „pytgk2“, nes naujausia „Windows“ versija yra 2.24. 3 serija yra akivaizdi savo nebuvimu. O blogi liežuviai sako, kad gnomas sulaužo visus apikus kiekvienoje naujoje versijoje.
Aš programuoju maketą su GTK 3.4 / 3.6 ir tiesa ta, kad jie laužo jūsų kantrybę ir galvą, jūs turite perrašyti kodą, dabar aš suprantu, kodėl „Linux Mint“ žmonės skundžiasi GTK ir GNOME projektu.
„MINT“ atstovams sutinku su „GTK 2.4“.
Gera pamoka ir nuorodos.
Tiesiog detalė, kadangi buvo įvestas kodas, „Python“ įtraukos yra privalomos ir kodo pavyzdyje turėtų būti laikomasi.
Sveiki atvykę!
Ar galite paaiškinti, ką sudaro privalomos „Python“ identifikacijos? Aš sakau jums tiesą, niekada to negirdėjau. Aš blogai pripratau prie „PyGTK 2/3“ forumų anglų kalba ir galbūt aš to nepastebiu.
„Python“ nenaudojate tokių raktų, kaip C, ar pradžios / pabaigos blokų, kaip „Pascal“, tačiau viskas suprantama per įtrauką, kurią suteikiate kodui. Tai reiškia, kad blokai pripažįstami įtrauktais. Tai savybė, kurią ypač mėgstu. Vengiate rašyti raktus ir panašius dalykus.
Man tai tiesiog nepatinka, atrodo paprasčiau įdėti du mažus klavišus arba „std :: endl;“, nei matyti, ar xd eilutė yra gerai suplanuota
: p Programavimo mokytojas jums priskirs 0. Arba dar blogiau, jie atleis jus iš jūsų darbo. Svarbiausia yra tai, kad kodas yra įskaitomas su viskuo, kas reiškia
baigiant uždaromomis petnešomis, tai daro mane žymiai įskaitomesnį XD ..
Rimtai ???
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);}
Tu matai? Be įtraukų tai nėra labai gerai suprantama. Ir tai lengva. Sudėtingesnį supranta tik kompiliatorius. Reikalas tas, kad jūs vis tiek PRIVALOTE padaryti įtrauką (kad žmonės suprastų kodą), kodėl turėtumėte būti nereikalingi ir naudoti separatorius? Užtenka įdubimų ir tiek.
Žinoma, nieko nesuprantama, nes jūs negerbiate c / c ++ programos gero rašymo taisyklių. Tai, ką jūs padarėte, tinka bet kam, pvz., Įdėjus funkciją į kitą funkciją, esančią kitos funkcijos viduje, tada noriu jus pamatyti xd, jei sugebate tai suprasti.
beje, dviem žvilgsniais tas kodas lengvai suprantamas xD
Tai, ką padariau, padariau tyčia, norėdamas parodyti jums, kad be įtraukų, nors ir kompiliuojama, nepaprastai sunku suprasti bet kokį kodą. Taigi turite dvi taisykles: įtrauka ir apimtis su skiriamaisiais. Bet tai yra nereikalinga. „Python“ vertėjas tiesiog nepriima tokio kodo. Ir jūs turite tik vieną taisyklę: įtrauka. Lengva.
Bet ei, visi su savo skoniu.
Abi yra geros, įtrauktos ir neįtrauktos, mano nuomone, man labiau patinka kabliataškio stilius arba rubinas, panašus į pitoną, tačiau įtrauka nėra būtina.
Taip geriau suprantama: P:
echo 'int main (int argc, char * argv []) {program_name = argv [0]; o ((argc> 1) && (argv [1] [0] ==' - ')) {jungiklis (argv [ 1] [1]) {atvejis „v“: verbose = 1; break; case 'o': out_file = & argv [1] [2]; break; case 'l': line_max = atoi (& argv [1] [2]); break; default: fprintf (stderr, »Bloga parinktis % s \ n », argv [1]); use ();} ++ argv; –argc;} if (argc == 1) {do_file (" print.in ");} else {while (argc> 1 ) {do_file (argv [1]); ++ argv; –argc;}} return (0);} '| perl -p -e 's / \ {/ \ {\ n \ t / g; s / \; / \; \ n \ t / g; s / \ t \} / \} / g;'
Sveikinimai 😀
Manau, kad Carlosas reiškia, kad ten, kur išeina kodas, nėra įtraukų. Tai su „copy & paste“ tiesiog neveiks. Nežinau, ar kuriant įrašą egzistuoja žyma
įvesti kalbos kodą. Būtų gerai, jei jie tai pasakytų, jei jos nėra.
Aš jau mačiau, kokia yra problema: CODE žymė pašalina visas tarpus ir skirtukus (tai neturėtų to padaryti !!!) Bet jei jūs įdėsite nbsp, tada kodas atrodys gerai. A0 šešioliktainėje (160 dec.), Nors manau, kad tai gali priklausyti nuo šrifto (nežinau). Jei jis naudojamas, jis išeina taip:
def fib(n):
a, b = 0, 1
while a < n:
print(a)
a, b = b, a+b
Tai mano bandymuose atrodo gerai, bet aš neturiu peržiūros, kai skelbiu atsakymus (ir taip turėtų būti !!!) Jei tai neišeina, tai ne mano kaltė
Pažvelkite į pavyzdžius, kuriuos Sebastianas Pölsterlas pateikia savo „PyGTK 3“ pamokoje. Sebastianas nededa etikečių.
Pavyzdys :
http://python-gtk-3-tutorial.readthedocs.org/en/latest/entry.html#example
galite pamatyti visą Sebastiano pamoką.
Aš nežinau, ką tu nori pasakyti. Aš sakau, kad čia, įrašuose, negalima naudoti „HTML“ žymos „CODE“, kad tai, ką įdėsite kaip kodą, ir ji išeitų gerai. Nurodytame puslapyje, jei matote puslapio šaltinius, pamatysite, kad jis nenaudoja CODE, bet naudoja kitus HTML skiriklius.
Tai neprieštarauja jūsų įvestam kodui, bet nurodo šios svetainės komandiravimo sistemos trūkumą. Tikriausiai tai gali išspręsti administratoriai.
Kai kalbu apie žymes, akivaizdžiai kalbu apie HTML, o ne apie „Python“. Bet kokiu atveju, jei „Python“ įdėsite kodą be įtraukų, jis tiesiog neveiks. Jei ateina naujokas ir nukopijuoja kodą, koks yra šiame įraše, ir bando jį paleisti, jis nesugebės. Galite būti nusivylęs, nes esate naujokas. Vėlgi, kaltė nėra tavo; ir savo ankstesniame ankstesniame atsakyme, ką padariau, daviau būdą išspręsti problemą iš vartotojo, kuris rašo lygio.
Jūs visiškai teisus, aš turėjau įkelti nuotraukas, o ne kopijuoti kodą.
parodyti, kaip PyGTK 3 tinkamai išdėstyti teiginiai.
Norint programuoti su python, rekomenduoju naudoti „Eclipse“ su „PyDev“ įskiepiu arba „Pychar m“
Kaip minėta pirmiau, todėl man nepatinka pitonas dėl įpjovimų. Kaip matėme, kopijavimas ir įklijavimas neveiks, o tai nenutinka su kitomis kalbomis, tokiomis kaip C, Java, PHP ir kt.
Skaitomumo dalykas, mes pritaikome kodo gražinimo priemonę (pvz., http://indentcode.net/ ) ir paruoštas,
Bjaurus yra pataisytas, bet jei nėra įtraukos ir logika yra pakeista, mes garsas ..
PyGTK esu naujas, ar galima bendrauti su „shell“ scenarijais šia kalba?
Ačiū už pamoką.
Sveikinimai.