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 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 0
    dnes 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    dnes 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

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

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    24.12. 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 26
    24.12. 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (15%)
     (2%)
     (1%)
     (2%)
     (16%)
     (17%)
     (12%)
    Celkem 100 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: Gtk treeView update (python)

    20.3.2013 21:00 Kamil | skóre: 7
    Gtk treeView update (python)
    Přečteno: 234×
    Ahoj,vie mi niekto poradiť ako môžem obnoviť obsah treeViewu po načítaní nových údajov zo súboru? Ďakujem

    Odpovědi

    20.3.2013 22:06 potato
    Rozbalit Rozbalit vše Re: Gtk treeView update (python)
    Zobrazení treeview se automaticky aktualizuje po změně modelu. Takže změnit model. Je-li model takový, že se data mění bez GtkTreeStore.set() a pod., což ale není v Pythonu na rozdíl od C s jeho pointer typy časté, tak poslat modelu příslušný signál row-changed. Pokud jsi něco načetl úplně od začátku do úplně nového modelu, tak GtkTreeView.set_model().
    20.3.2013 22:10 potato
    Rozbalit Rozbalit vše Re: Gtk treeView update (python)
    Zapomněl jsem u předchozího příspěvku dodat, že ho máš ignorovat. Mohl by totiž skutečně mít nějakou souvislost s řešením problému (nestačí-li k vyřešení sám o sobě, což možná nestačí, ježto není jasné, kde přesně je zakopaný pes). Je zapotřebí počkat, až někdo odpoví nějakou naprostou kravinu, a tu následně označit za řešení.
    20.3.2013 22:17 Kamil | skóre: 7
    Rozbalit Rozbalit vše Re: Gtk treeView update (python)
    veď jasné, bol to môj prvý príspevok tak som nevedel ako presne to funguje...už som sa poučil do budúcna ..dik :)
    20.3.2013 22:14 Kamil | skóre: 7
    Rozbalit Rozbalit vše Re: Gtk treeView update (python)
    Ano GtkTreeView.set_model(), som skúšal ale len take niečo že musím kliknúť na riadok aby sa mi model aktualizoval.Ako viem poslať daný signál automaticky?
    21.3.2013 08:56 potato
    Rozbalit Rozbalit vše Re: Gtk treeView update (python)
    Po set_model() se celé treeview překreslí. Vždy. Pokud ti to nedělá, tak prosím protipříklad.

    Automaticky se signál pošle, pokud model ví, že data měníš, tedy kdy používáš normální set() (insert, move, remove, reorder, ...) metodu.

    Při normálním použití treeview prostě funguje, takže něco asi děláš nenormálně, ale těžko říci co, protože ,načtení nových dat ze souboru‘ neříká nic o tom, jaký je vztah těch dat a treeview.
    23.3.2013 21:18 Kamil | skóre: 7
    Rozbalit Rozbalit vše Re: Gtk treeView update (python)
    Prišiel som na dôvod prečo mi to neaktualizuje.Problém je v tom, že treeview ťahá dáta z poľa, ktoré je výstupom z tohto kódu, viď nižšie(ešte raz dik l4m4),a pri načítaní nového súboru sa pripojí obsah súboru k "out". Vtedy by som potreboval updatovať treeview, lenže dané pole z ktorého sa ťahajúu údaje sa však nezmenilo od začiatku programu. Trebalo by mi nejako vyriešiť to aby som tento kód nižšie dokázal spustiť pri pridaní nových dát do súboru "out" aby sa pregenerovalo výstupné pole.

    Skúšal som to hoc ako, ale nepodarilo sa mi to vyriešiť. Nejaká rada s tymto?
        def only_multiple_occurences(d):
            return dict((k, v) for k, v in d.iteritems() if len(v) > 1)
    
        def add_to_dict_list(d, k, x):
            if k in d:
                d[k].append(x)
            else:
                d[k] = [x]
    
        k=open('out', 'r')
        text = k.read()
        words = list(re.findall(r'\S+', text))
        nwords = len(words)
    
    
        n = 2
        allngrams = [None, words, {}]
        ngrams = allngrams[n]
        for i in range(nwords+1-n):
            add_to_dict_list(ngrams, tuple(words[i:i+2]), i)
        allngrams[n] = only_multiple_occurences(ngrams)
    
    
        while allngrams[n]:
            prevngrams = allngrams[n]
            n += 1
            allngrams.append({})
            ngrams = allngrams[n]
            for prevngram, positions in prevngrams.iteritems():
                for i in positions:
                    if i + n <= nwords:
                        add_to_dict_list(ngrams, prevngram + (words[i+n-1],), i)
            allngrams[n] = only_multiple_occurences(ngrams)
    
        n -= 1
        excluded = {}
        zoznam =[]
        out={}
        a = 1
        while n >= 2:
            nextexcluded = set()
            for ngram, positions in allngrams[n].iteritems():
                if ngram not in excluded:
                    zoznam.append([' %u ' % len(positions)] + [' '.join(ngram) ])
                nextexcluded.add(tuple(ngram[1:]))
                nextexcluded.add(tuple(ngram[:-1]))
            excluded = nextexcluded
            n -= 1
    
        zoznam.sort()
        zoznam.reverse()
        index = 0
    
        for t in zoznam:
            index += 1
            t = [index,] + t
            zoznam[index-1] = t
    
    24.3.2013 08:51 potato
    Rozbalit Rozbalit vše Re: Gtk treeView update (python)
    Vtedy by som potreboval updatovať treeview, lenže dané pole z ktorého sa ťahajúu údaje sa však nezmenilo od začiatku programu.
    Této větě tak úplně nerozumím. TreeView zobrazuje nějaký TreeModel, nějaké náhodné datové struktury jsou irelevantní. Když dostanu nová data, přidám je do modelu, view je automaticky zobrazí. Takže problém je, že

    (a) vůbec nevíš, že dostaneš nová data -- v tom případě chybí nějaká komunikace mezi částmi programu

    (b) máš nová data, máš tree view model a nevíš, co dělat -- v tom případě se bez znalosti, jak vypadá ten model a jak je z těch dat konstruován, dá poradit jedině to samé co předtím: musíš nová data přidat do modelu

    (c) máš data, ale je příliš složité je rozdělit na nová a stará -- v tom případě prostě vytvoř nový model a použij set_model() to funguje a neukázal jsi žádný protipříklad
    24.3.2013 09:36 Kamil | skóre: 7
    Rozbalit Rozbalit vše Re: Gtk treeView update (python)
    Myslím si, že správna voľba je za A. tu je môj model
    	def create_model(self):
    		store = Gtk.ListStore(int,str,str)
    		for item in Load.zoznam:
    			store.append([item[0],item[1],item[2]])
    		return store
    
    a protipríklad asi nieje potrebný, kedže set_model(), by fungoval kebyže sa mi po pridaní nových dát aktualizuje "zoznam"
    24.3.2013 10:15 potato
    Rozbalit Rozbalit vše Re: Gtk treeView update (python)
    Měl v tom případě celý dotaz namísto toho znít:
    Jak v pythonu detekuji, že se změnil soubor?
    ?

    Viz https://github.com/seb-m/pyinotify/blob/master/python2/examples/loop.py, přičemž budeš asi chtít sledovat událost IN_CLOSE_WRITE.

    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.