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 11:52 | Komunita
Lednový Prague Containers Meetup se koná ve čtvrtek 26.1.2017 od 18:00 v Apiary, Pernerova 49, Praha 8. Přijďte se podívat na přednášky o Enterprise Kubernetes a Jenkins as a code.
little-drunk-jesus | Komentářů: 0
dnes 11:40 | Pozvánky
Program letošního ročníku konference Prague PostgreSQL Developer Days, která se koná již 15.-16.2. 2017 na ČVUT FIT, Thákurova 9, Praha 6, byl dnes zveřejněn. Najdete ho na stránkách konference včetně anotací přednášek a školení. Registrace na konferenci bude otevřena zítra (24.1.) v brzkých odpoledních hodinách.
TomasVondra | Komentářů: 0
včera 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
včera 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 6
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 10
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (4%)
 (10%)
Celkem 367 hlasů
 Komentářů: 25, poslední 21.1. 13:34
Rozcestník
Reklama

Dotaz: PyGtk FileChooserDialog

24.4.2010 13:11 Radek
PyGtk FileChooserDialog
Přečteno: 214×
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.