abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:22 | Nová verze

    Byla vydána verze 1.96.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | IT novinky

    Společnosti IBM a Red Hat představily Project Lightwell s investicí 5 miliard dolarů. Jedná se o důvěryhodné clearingové centrum pro bezpečnost open source softwaru a zabezpečení dodavatelských řetězců s novým AI modelem a globální skupinou více než 20 000 softwarových inženýrů. Služby centra budou dostupné prostřednictvím komerčních předplatných. Project Lightwell staví na iniciativách jako Anthropic Glasswing nebo OpenAI Trust Access for Cyber.

    Ladislav Hagara | Komentářů: 1
    včera 18:22 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 26.05. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | IT novinky

    Český stát by v budoucnu mohl provozovat vlastní alternativu ke komunikačním aplikacím typu WhatsApp, Signal, Telegram, Facebook Messenger a podobně. Cílem je zajistit bezpečnou datovou komunikaci pro stát a jeho důležité subjekty, jako jsou bezpečnostní složky, ministerstva a další organizace.

    Ladislav Hagara | Komentářů: 23
    včera 11:22 | Pozvánky

    Už za týden, ve čtvrtek 4. června, se v Národní technické knihovně v pražských Dejvicích uskuteční další konference věnovaná tématům spojeným s IPv6 - Den IPv6. Program akce a registrační formulář jsou k dispozici na webu akce. Kapacita konference je omezená, proto organizátoři doporučují, aby se vážní zájemci přihlásili včas (k dnešnímu dni zbývá přibližně 30 volných míst). Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 1
    včera 05:22 | IT novinky

    Zařízení Steam Deck OLED bylo znovu naskladněno, ale vlivem rostoucích cen pamětí a úložišť má novou, vyšší cenovku. Steam Deck OLED 512 GB stojí nově 779 EUR (stál 569 EUR) a Steam Deck OLED 1 TB stojí 919 EUR (stál 679 EUR). Samotné zařízení se nijak nezměnilo a nové ceny tedy pouze odráží aktuální náklady na komponenty a další globální logistické výzvy, se kterými se potýká celá branže.

    Ladislav Hagara | Komentářů: 0
    27.5. 22:22 | IT novinky

    Český telekomunikační úřad zahajuje novou etapu využívání vysokofrekvenčního rádiového spektra v pásmu 26 GHz. Toto pásmo bude od 1. 7. 2026 otevřeno pro provoz moderních bezdrátových sítí, zejména sítí páté generace (5G), pevných bezdrátových přístupových sítí (FWA) a lokálních či průmyslových sítí určených například pro výrobní areály, logistická centra nebo technologické kampusy. Současně s otevřením pásma 26 GHz přistoupil ČTÚ ke zpřístupnění informací o využívání rádiových kmitočtů v tomto pásmu.

    Ladislav Hagara | Komentářů: 9
    27.5. 22:11 | IT novinky

    Logitech představil myš Signature Comfort Plus M850 L s polstrovanou opěrkou dlaně pro větší pohodlí a sadu s touto myší a klávesnicí s integrovanou opěrkou dlaní Signature Comfort Plus Combo MK880.

    Ladislav Hagara | Komentářů: 1
    27.5. 16:33 | IT novinky

    Gaël Duval se rozepsal o novinkách a plánech Murena a /e/OS. Počet uživatelů telefonů Murena a mobilního operačního systému /e/OS bez aplikací a služeb od Googlu se blíží 100 000. Ambicí je, aby se /e/OS stal třetí mobilní platformou v Evropě i na světě, s potenciálem dostat se i na PC. Blíží se vydání nové verze 4 s funkcemi zálohování a obnova, import e-mailů z Gmailu a rozpoznávání hlasu. Murena Workspace přinese videohovory, elektronický podpis a správu zařízení (MDM).

    Ladislav Hagara | Komentářů: 4
    27.5. 15:22 | Komunita

    Dnes a zítra probíhá Ubuntu Summit 26.04. Na programu je řada zajímavých přednášek. Sledovat je lze na YouTube. Úvodní slovo měli Mark Shuttleworth a Jon Seager.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1753 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Stibiho amatérská „příručka“ k PyGTK - díl 1

    16.9.2006 13:57 | Přečteno: 1864× | PyGTK | Výběrový blog | poslední úprava: 16.9.2006 17:05

    Zdravím, tak jsem ze sebe vypotil první díl povídání o PyGTK, uvidíme co z toho bude, snad to není úplně odpad a do budoucna bude kvalita překladu, příkladů a všeho lepší. Paralelně s jednotlivými díly o samotném PyGTK budu uveřejňovat postupy při psaní samotné aplikace, konkrétně to bude prohlížeč obrázků.



    Co se týče dalších dílů o PyGTK, příště bude řeč o upravené a vylepšené AhojSvete a začnu s popisem jednotlivých widgetů...

    Stibiho amatérská „příručka“ k PyGTK 2.4


    Zdravím všechny u prvního dílu, této snůšky amatérských blábolů na téma Python a GTK. Předem se omlouvám, za všechny chyby, kterých doufám zas tak moc nebude, ale přece jenom, expert nejsem a tohle dělám jenom z radosti. Co se týče mého programování, tak mám nastudované docela dost teorie ale na praktické využití, se dost často nedostalo, buď se mi nechtělo, nebo kdo ví co proč jsem taková lemra :) .

    V Pythonu jsem úplný začátečník, umím něco slepit v PHP, trochu jsem blbnul v Javě, pár skopičin v Bashi, nějaké to drobky v PostgreSQL, no, a to bude tak nějak vše, HTML, CSS a podobně to snad ani nemá cenu zmiňovat, to umí kde kdo...

    Takže, při psaní využívám PyGTK Reference Manual a Tutorial, GTK+ 2.0 Tutorial, Reference Manual a taky Google.cz.

    Když tak kuk sem PyGTK.org a taky tady GTK.org .

    Jednotlivé díly budou na pokračování, nevím jak často budu psát, ale snad nějaká pravidelnost bude, nebo aspoň bez větších zpoždění.

    Snad někomu pomůžu, něco se naučím i já, a s trochou štěstí nikoho nepřivedu v omyl, to bych nerad, kdyby snad něco takového hrozilo, neváhejte mě rozcupovat v diskuzi :) .

    S překladem mám docela problémy, perfektní angličtinář nejsem, ale to hlavní problém není, spíš částo váhám, co přeložit, co ne, vím že někteří lidé mají rádí striktní dodržování anglických názvů, jiní za raději počešťování, nevím no, já jdu střední cestou, to znamená guláš smíchaný z anglických a českých termínů a názvů. To se týká u ukázek kódu. Tam už nevím vůbec, mě jako lamku občas mátly stejné názvy metody/funkce a eventu na které reaguje, takže to se snažím odlišit. Do budoucna se klidně budu řídit vašimi názory, takže doufám že se na téma překladu někdo ozve v diskuzi.


    A jdeme na to !


    GTK je knihovna určená pro vytváření GUI – tedy grafického uživatelského prostředí. Původně bylo GTK napsáno pro vývoj GIMPu, nyní se používá v mnoha dalších projektech.

    Plusy a mínusy GTK oproti třeba Qt hodnotit nemůžu, protože praktickou zkušenost nemám, ale určitě se najde někdo z KDE tábora, kdo se v diskuzi dole ozve a vyzvedne Qt, pokud to bude k věci tak prosím, ale flejmy si nechte na jiné místo ju ?! :)


    Mechanismus signálů a zpětných volání


    Signály v PyGTK, nejsou to samé jako Unixové signály, i když terminologie je stejná.

    Programy napsané v PyGTK fungují právě na systému signálů a patřičné odpovědi na ně, tedy když stiskneme tlačítko myšidla, je widgetem (věcičkou :)) vyslán příslušný signál.

    Některé signály dostanou do výbavy (dědí) všechny widgety (např. „destroy“), některé jsou zase specifické pro konkrétní widget (např. stav „toggled“ u toggle buttonu).

    Aby se po stisknutí tlačítka, nebo jakékoli události, vykonala příslušná akce, musíme vytvořit něco, co bude čekat na signál např. našeho tlačítka a zavolá příslušnou funkci, to něco se jmenuje handler, nebo taky česky obslužná rutina, budu dále používat handler...


    Definice handleru vypadá takto:

    nazev_handleru = objekt.connect ( jméno, fce, fce_data)

    Kde, „objekt“ je instance GTKwidgetu, která vysílá signál.

    Funkce specifikovaná v druhém parametru se nazývá „callback funkce“. Zase si nejsem jistý jak překládat, tak to nechám takhle :)


    Definice callback funkce tedy vypadá následovně:

    def nazev_callbackFce ( widget, callback_data) :


    Pokud je callback funkce metoda objektu, potom ji máme v této podobě :

    def nazev_callbackMetoda (self, widget, callback_data) : 

    Jen tak na okraj, neměl jsem jasno v tom, jaký je rozdíl, mezi funkcí a metodou objektu. A i když jak jsem zjistil, princip je dost podobný, termíny jsou to dost odlišné a může to zmást... tedy :


    FUNKCE –je izolovaný kus kódu, který po zavolání vykoná to co jsme mu předepsali

    METODA OBJEKTU – je jak jsem se dočetl zvláštní funkce, která určitým způsobem „patří“ k určitému objektu. Její funkcí je většinou určitým způsobem modifikovat samotný objekt.

    Snad jsem to moc nezblbnul a nepíšu kraviny :) Uvedené definice signálů, handleru a callback funkcí je jen základní popis, některé widgety generují specifické signály a jsou volány jiné parametry.


    Události ( Events)


    Aby váš skript mohl reagovat na to, co s ním uživatel provádí, je systém signálů a callbacků doplněn o systém událostí ( Events). Události odrážejí to, co udělá uživatel, klikne li tedy na button (tlačítko), nastane událost button_press_event. A skript na základě toho rozhodne, co se stane dál.... Tedy koukne co jste mu předepsali k této události a vykoná to ...

    Tady můžete kouknout na seznam událostí:

    event
    button_press_event
    button_release_event
    scroll_event
    motion_notify_event
    delete_event
    destroy_event
    expose_event
    key_press_event
    key_release_event
    enter_notify_event
    leave_notify_event
    configure_event
    focus_in_event
    focus_out_event
    map_event
    unmap_event
    property_notify_event
    selection_clear_event
    selection_request_event
    selection_notify_event
    proximity_in_event
    proximity_out_event
    visibility_notify_event
    client_event
    no_expose_event
    window_state_event
    

    Callback funkce (nebo metoda) pro tyto události je maličko jiná.


    def nazev_callbackFce ( widget, událost, callback_data) : 
    

    def nazev_callbackMetody ( self, widget, událost, callback_data) :
    

    Pro spojení callback funkce s jednou z těchto událostí, se používá metoda connect() , jméno události se zapisuje do parametru „name“ .

    Takže, když chceme určite, co se stane, když se klikne ta tlačítko, použijeme něco takového :


    button.connect( "button_press_event", stisk_tlacitka_callback)

    Předpokládá se, že tlačítko je GTKbutton widget, když tedy klikneme na tlačítko, zavolá se funkce button_press_callback. A funkce je definována následovně (už to sice víme ale opakování matka moudrosti že …)


    def stisk_tlacitka_callback( widget, událost, data ):

    Takže asi takhle, připadá mi to docela jednoduché a šikovné... Teď si projdem ukázkové použití GTKbutton widgetu, nastavíme handlery, napíšeme pár metod a hlavně to celé rozebereme, popíšeme, vysvětlíme...

    Aplikace tedy bude klasická HelloWorld, po spuštění na nás vykoukne malé okno, s jedním tlačítkem, zatím nic moc, ale základní principy na tom jsou dobře vidět.


    Příklad – AhojSvete.py


    Kód příkladu AhojSvete


    (1)#!/usr/bin/env python
    (2)# -*- coding: UTF-8 -*-
    (3)
    (4)import pygtk
    (5)pygtk.require('2.0')
    (6)import gtk
    (7)
    (8)class AhojSvete:
    (9)
    (10)def ahoj_hlaska(self, widget, data=None):
    (11)print "Ahoj světe"
    (12)gtk.main_quit()
    (13)
    (14)def zabij_okno(self, widget, event, data=None):
    (15)print "Zavřeli jsme okno"
    (16)gtk.main_quit()
    (17)
    (18)def __init__(self):
    (19)self.okno = gtk.Window(gtk.WINDOW_TOPLEVEL)
    (20)self.okno.connect("delete_event", self.zabij_okno)
    (21)self.okno.set_border_width(10)
    (22)self.tlacitko = gtk.Button("Ahoj světe")
    (23)self.tlacitko.connect("clicked", self.ahoj_hlaska)
    (24)self.okno.add(self.tlacitko)
    (25)self.tlacitko.show()
    (26)self.okno.show()
    (27)
    (28)def main(self):
    (29)gtk.main()
    (30)
    (31)if __name__ == "__main__":
    (32)ahoj = AhojSvete()
    (33)ahoj.main()

    Pokud budete kód zkoušet, nezapomeňte na odsazení !


    Rozbor příkladu AhojSvete

    Teorie bylo až až, koukněte na příklad nahoře, projdem to....

    Jinak když skript uložíme např. do souboru AhojSvete.py a spustíme z konzole pomocí python AhojSvete.py tak na nás vyskočí malé okýnko, s jedním buttonem, když kliknem na button, do konzole se vypíše hláška, když okno zavřem, dostanem jinou hlášku ..

    Takže …

    Co se týče prvních dvou řádků, první umožňuje spuštění skriptu přímo klikem na soubor v Xkách (pokud jste tedy přidělili správná práva) a druhý řádek nastavuje kódování, kdybychom ho nenastavili, tak by se celkem nic nestalo, sice bychom dostali warning, ale skript by se spustil, a české znaky by se zobrazily správně, ale my warningy nechceme, takže jsme kódování nastavili :)

    Řádky 8-29 obsahují všechny definice třídy AhojSvete, všechny callback metody (a funkce, ale v tomto konkrétním případě funkci nemáme) a všechny inicializace instancí objektů.

    Na řádcích 10-12 máme callback metodu ahoj_hlaska(), která je volána když je stisknut button, když tato událost nastane, je do konzole vypsána hláška „Ahoj světe“ skript se ukončí. V tomto případě vůbec neřešíme jaké instance se metoda týká, neřeší se ani parametry, není třeba. Metoda má za úkol jen vyplivnout na konzoli hlášku a ukončit činnost, tím to pro ni končí. Ale jinak většina callback metod samozřejmě určení instance objektu se kterou se bude něco dít a nastavení parametrů využívá.

    Další callback je trochu speciální (řádky 14-16). „zabij_okno“ se spustí, když window manager odešle aplikace zprávu, že tato událost (delete_event) nastala. Tedy, normálně řečeno, když kliknem v okně aplikace na křížek pro zavření, Gnome ihned hlásí aplikaci, že nastala událost delete_event a aplikace už další události ošéfuje tak, jak jsme jí to předepsali, tedy handler reagující na tuto událost spustí naši metodu „zabij_okno“.

    Ve skriptu máme tuto metodu, jenom k tomu, abychom při zavírání okna dostali hlášku do konzole, kdyby jste tuto metodu nevytvořili, okno by samozřejmě šlo normálně klasicky zavřít.

    Řádky 18-26 popisují inicializační metodu __init__(), která vytváří instance popsaných objektů, právě ona na nás vyplivne okno s tlačítkem a postará se o to, aby si prvky spolu povídali.

    Řádek 19 vytváří nové okno, avšak samotné vykreslení okna na obrazovku s provádí příkazem kousek níž, bude o něm řeč. Pro pozdější přístup k instanci okna můžeme použít odkaz „self.window“

    Na řádku 20, vidíme ukázku odchycení signálu a zavolání požadované funkce. V tomto případě se čeká na delete_event, tedy zavření okna, tím se zavolá metoda zabij_okno a ta se postará o vypsání hlášky do konzole a zavření okna.

    Řádek 21 nastavuje 10px bílého prostoru kolem buttonu, o atributech oken a dalších widgetů bude řeč v dalších dílech.

    Řádek 22 vytváří instanci buttonu s popiskem „Ahoj světe“ .

    Další řádek nastavuje k události „clicked“ callback metodu „ahoj_hlaska“.

    Řádek 24 je „packing“ příkaz, přidává widget do okna a vše o něm bude popsáno v dalších dílech.

    Řádky 25,26 mají na starost samotné vykreslení prvků na obrazovku.

    Řádky 28,29 definují „main()“ metodu, která volá gtk.main() funkci.

    Řádky 31,33 dovolují spuštění celého programu, vytvářejí instanci třídy AhojSvete .


    Hotovo :)


    První díl ke stažení v PDF.        

    Hodnocení: 93 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    16.9.2006 14:36 pepik | skóre: 16 | blog: nevim | Chlumec nad Cidlinou
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    Výborně. Tento zápis je opravdu super. S PyGTK bych celkem chtěl umět a jelikož nejsem moc dobrý angličtinář, tak tento blog mi opravdu hodně pomohl se alespoň odrazit. Byl bych rád kdyby autor napsal i nějaké pokračování o propojení s glade souborem, abych nemusel GUI psát ručně. Držím palce!
    Martin Stiborský avatar 16.9.2006 16:07 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    Noo o Glade se psát moc nechystám, zatím mi úplně stačí GVim...
    Kvík ..
    kozzi avatar 16.9.2006 14:43 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    Moc pěkný. Musíím tě pochválit. Akorát mám radši když se v kódu používají anglické názvy ale to vadi mozna jen me. Ale o něco víc mi vadí odsazování zdroje. měl by jsi používat tabulátor. Jinak hodnocení davam dobre
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    18.9.2006 01:33 pm
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    Ne! V Pythonu je definovany standard odsazovat 4 mezerami. Nemusi se ti to libit, ale je to tak a je nutne a spravne se tohoto standardu drzet, aby byly zdrojaky jednotne a ne kazda ves jiny pes.
    16.9.2006 14:50 rajcze | skóre: 6 | blog: rajcze | kus od Brna
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    zkus se kouknout na tohle:
    http://www.py.cz/PythonAGlade
    Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet.
    16.9.2006 16:05 Petr Bayer | blog: NIL
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    glade neni vselek
    Kill the poor!
    16.9.2006 18:22 rajcze | skóre: 6 | blog: rajcze | kus od Brna
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    nerikam ze je, ale stejne by me zajimalo co zasadniho mas proti
    Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet.
    16.9.2006 19:42 Petr Bayer | blog: NIL
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    proti glade nemam nic, je to supr vec, ale predtim je dobre znat pygtk.
    a jinak, uz mame nove glade, ktere je tak trochu dost odlisne od toho stareho a to uz radsi nemluvim o gtk, takze nektere veci ze starsich tutorialu nebudou fungovat. a to pak je velka legrace resit "proc to ksakru nejde, kdyz jsem to zkopiroval z toho navodu", vyborne se na tom uci.
    Kill the poor!
    16.9.2006 20:18 rajcze | skóre: 6 | blog: rajcze | kus od Brna
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    nove glade ke me jeste nedorazilo, asi se budu muset podivat :)
    "proc to ksakru nejde, kdyz jsem to zkopiroval z toho navodu"
    hehe, tak to mas naprostou pravdu, jen by se mi opravdu nelibilo, kdyby me nekdo strasne sepsul ze to podle myho navodu nefunguje a pak se zjistilo ze je to kvuli jine verzi glade
    Rules of Optimization: Rule 1: Don't do it. Rule 2 (for experts only): Don't do it yet.
    16.9.2006 21:57 Petr Bayer | blog: NIL
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    16.9.2006 21:58 Petr Bayer | blog: NIL
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    jen by se mi opravdu nelibilo, kdyby me nekdo strasne sepsul ze to podle myho navodu nefunguje a pak se zjistilo ze je to kvuli jine verzi glade
    to vetsinou lidem dochazi az potom :-D
    Kill the poor!
    16.9.2006 16:41 Petr "Glubo" Sýkora | skóre: 21 | blog: Glubnik
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1

    Nakonec to dopadlo docela pěkně ;)

    Jen takový malý hint k psaní tagů <pre> zde na Ábíčku: když přidáš parametr class="kod", zobrazí se pak jako úryvky kódů v článcích, tedy v barevně odlišeném bloku.

    „O mrtvých jen v dobrém." „Pojďme se bavit o Stalinovi."
    Martin Stiborský avatar 16.9.2006 16:46 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    Díky, upravím, opravím :)
    Kvík ..
    Vojta Drbohlav avatar 16.9.2006 18:06 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    Nečet sem to celý, ale podle mě by z toho byl pěknej článek ;-)
    Jardík avatar 16.9.2006 23:09 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    Měl bych jen takovou malou výtku. Do toho zdrojáku příště nepiš ty čísla řádek, špatně se to kopíruje :)
    Věřím v jednoho Boha.
    17.9.2006 14:04 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    Špatně? :1,$s/^(\d*)// není až tak těžké ;-).
    When your hammer is C++, everything begins to look like a thumb.
    Martin Stiborský avatar 17.9.2006 12:34 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: Stibiho amatérská „příručka“ k PyGTK - díl 1
    Jestli by měl někdo nápad na něco konkrétního, o čem by se mohlo napsat, ať se ozve ju ?! :)
    Kvík ..

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.