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 15:33 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.8.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 5
    dnes 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

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

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 7
    včera 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    Byla vydána verze 1.89.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 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 4
    včera 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (44%)
     (21%)
     (4%)
     (6%)
     (3%)
     (1%)
     (1%)
     (19%)
    Celkem 299 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: PyGtk FileChooserDialog

    24.4.2010 13:11 Radek
    PyGtk FileChooserDialog
    Přečteno: 328×
    Ahoj, potřeboval bych poradit s PyGtk. Potřebuju aby se mi zobrazil dialog na vyber souboru, po vybrani souboru se provedla prislusna funkce, ale dialog se nezaviral, ale cekal, az se vybere dalsi soubor a s nim provedl to samy a porad dokola.

    mam treba neco takovyho:
    dialog = gtk.FileChooserDialog(title=None,action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))
    	
    		response = dialog.run()
    		if response == gtk.RESPONSE_OK:
    			prislusna_funkce(dialog.get_filename())
    
    v mem provizornim reseni je na konci dialog.destroy() a to cele ve smycce.

    Takze se po vyberu souboru provede funkce, dialog se zavre a otevre se novy. To je samozrejme naprosta prasarna. Nema nekdo lepsi napad? :-) Dekuju, zdravi Radek

    Řešení dotazu:


    Odpovědi

    24.4.2010 13:13 chrono
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    Prečo nemôžeš tých súborov vybrať viac a to okno normálne zatvoriť?
    24.4.2010 13:27 Radek
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    No on totiz alespon v tom FileChooserDialogu tak nefunguje. Pokud vim tak zavolamnim dialog.get_filename() se mi vrati jen adresa naposledy oznaceneho souboru. Ted jsem jeste zkousel takovy ty standartni zpusoby na oznaceni vice souboru, abych videl co se stane. Ale oznacit jich vic poroste nejde.
    24.4.2010 13:34 chrono
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    Skús tam pridať ešte dialog.set_select_multiple(True)
    24.4.2010 13:40 chrono
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    A ešte som zabudol, že potom budeš musieť použiť niečo ako:
    for name in dialog.get_filenames():
      prislusna_funkce(name)
    24.4.2010 13:49 Radek
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    Skvělé, děkuji mnohokrát, jsem Vašim dlužníkem ;-)
    24.4.2010 14:10 Radek
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    Omlouvam, se, ze jeste otravuju, soucasny stav me bohate staci, ale kdyby jste nahodou znal zpusob, jak docilit presne toho, co jsem poisoval v dotazu, tak by mi to taky trochu pomohlo. Jde mi o to, ze si vyberu nejaky soubor, ten se mi zpracuje a zobrazi se mi graf. A podle toho co v tom grafu vidim si takoto vybiram a zobrazuju dalsi soubory. Kdybych mel porad otevreny dialog a jen si klikal na soubory, ktere chci zobrazit, urychlilo by to mou praci. Ale jinak jesete jedou dekuji za Vasi predeslou radu
    24.4.2010 14:24 chrono
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    FileChooser posiela signály file-activated a selection-changed, takže by mohlo pomôcť pripojiť sa na tie signály (prvá sa pošle až pri stlačení Enter, alebo dvojkliku na ten súbor, druhý sa posiala pri každej zmene).
    Fuky avatar 24.4.2010 15:12 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog

    Můžeš to vyřešit třeba takhle:

    self.xml_input_FS = gtk.glade.XML("%s/opso.glade" % (cesta["share"]), "input_FS")
    self.xml_input_FS.signal_autoconnect(self)
    self.input_FS = self.xml_input_FS.get_widget("input_FS")
    
    while (True):
        result = self.input_FS.run()
    
        if (result == gtk.RESPONSE_OK):
            nazev_souboru = self.input_FS.get_filename()
            ...
        else:
            break
        
    self.input_FS.destroy()
    

    Pokud dvojklikem vybereš soubor nebo jedním kliknutí a následným stisktnutím tlačítka OK, zůstane FS otevřený a postupně se zpracovávají další a další soubory. Okno se zavře teprve když stiskneš jiné tlačítko nebo ho zavřeš přímo např. křížkem nebo klávesovou zkratkou.

    Nebo si to představuješ ještě jinak?

    24.4.2010 17:13 Radek
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    Ano presna tak si to predstavuju, akorat nemam zkusenosti s glade. Co prosim znamena to "%s/opso.glade" % (cesta["share"].
    (kdyz jsem to zkousel pustit kricelo to na me, ze globalni pormena "cesta" neni definovana. )
    24.4.2010 17:35 chrono
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    V tom prvom reťazci sa %s nahradí obsahom premennej cesta['share'] (a teda je to niečo ako printf v C).

    Inak je to to isté, ako keď sa ten pôvodný program upraví:
    dialog = gtk.FileChooserDialog(title=None,action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK))
    while True:
    	response = dialog.run()
    	if response == gtk.RESPONSE_OK:
    		prislusna_funkce(dialog.get_filename())
    	else:
    		break
    Fuky avatar 24.4.2010 17:44 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    In [1]: cesta = {"share": "/opt/opso/share"}
    In [2]: print "%s/opso.glade" % (cesta["share"])
    /opt/opso/share/opso.glade
    

    Je to cesta ke XML specifikaci GUI vytvořené pomocí Glade. Uvedl jsem jen pro ukázku, kdyby jsi navrhoval komplikovanější GUI a nechtěl ho navrhovat ručně.

    24.4.2010 18:37 Radek
    Rozbalit Rozbalit vše Re: PyGtk FileChooserDialog
    Monohorakt dekuji, mozna tomu nebudete verit, ale díky vám mám hned o neco jednodussi zivot :-)

    Založit nové vláknoNahoru

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

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