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 01:22 | Nová verze

    PyPy (Wikipedie), tj. implementace Pythonu v RPythonu, alternativa CPythonu v C, byla vydána v nové major verzi 8.0.0. Podporuje Python 2.7, 3.11 a 3.12.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Komunita
    V rakouském Štýrském Hradci probíhá konference vývojářů a uživatelů desktopového prostředí KDE Plasma Akademy 2026. O víkendu proběhly přednášky. Videozáznamy jsou k dispozici na YouTube.
    Ladislav Hagara | Komentářů: 1
    včera 23:55 | Bezpečnostní upozornění

    V jádře Linux byly nalezeny a v upstremu ve verzích 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50 a 7.2.4 již opraveny 4 kritické zranitelnosti umožňující eskalaci práv: DirtyAH6 (CVE-2026-80844), TUNderflow (CVE-2026-81000), PPPoEject (CVE-2026-68121) a DiagSpill (CVE-2026-74469).

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | Zajímavý článek

    Německá policie a celníci zneužívají ke čtení zpráv komunikačních aplikacích WhatsApp, Signal, Telegram nebo Threema velice jednoduchý trik, který nevyžaduje prolomení šifrování, spear phishing, odposlech SMS či jinou technicky náročnou metodu. Příslušníkům státního aparátu pouze stačí získat krátký přístup k odemčenému telefonu a prostřednictvím QR kódu propojit účet s oficiální desktopovou nebo webovou aplikací v policejním

    … více »
    AfD 💙 | Komentářů: 0
    19.9. 02:11 | IT novinky Ladislav Hagara | Komentářů: 0
    18.9. 19:11 | Zajímavý projekt

    Fugleramme, v překladu 'ptačí rámeček', je open-source projekt postavený na Raspberry Pi, který pomocí lokální umělé inteligence BirdNET-Go rozpoznává ptačí druhy podle jejich zpěvu a na displeji následně zobrazuje koláž tvořenou odpovídajícími ilustracemi. Databáze obsahuje přes 800 ručně vybraných historických přírodovědných ilustrací více než 400 druhů ptáků.

    … více »
    AfD 💙 | Komentářů: 1
    18.9. 16:55 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 18.0. Přidáno bylo 13 007 nových znaků. Celkově jich je 172 808. Přibylo 9 nových Emoji.

    Ladislav Hagara | Komentářů: 5
    18.9. 13:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 169 (pdf).

    Ladislav Hagara | Komentářů: 0
    18.9. 03:33 | Nová verze

    Byla vydána nová verze 6.4 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    17.9. 23:11 | Komunita

    Německý kancléř Friedrich Merz (CDU) se během debaty s finalisty studentské vědecké soutěže Jugend forscht vyjádřil pro konec anonymity na internetu a vyslovil názor, že pro uživatele Internetu by měla platit podobná právní odpovědnost jako pro novináře tradičních médií. Na dotaz studenta, jak by se tedy povinnost uvádět pravé jméno slučovala s prací investigativních novinářů nebo ochranou jejich zdrojů, Merz neodpověděl, ve své

    … více »
    AfD 💙 | Komentářů: 55
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2703 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Python GTK+

    21.7.2015 16:34 Ondřej Kolín
    Python GTK+
    Přečteno: 819×

    Zdravím, nejde mi rozchodit v Python 2.7.* a GTK+ (gi.repository) DnD mezi dvěma iconview, netuší někdo, kde by mohl být problém?



    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    from gi.repository import Gtk, Gdk
    from gi.repository.GdkPixbuf import Pixbuf
    (TARGET_ENTRY_TEXT, TARGET_ENTRY_PIXBUF) = range(2)
    (COLUMN_TEXT, COLUMN_PIXBUF) = range(2)

    DRAG_ACTION = Gdk.DragAction.COPY

    icons = ["gtk-cut", "gtk-paste", "gtk-copy"]

    win = Gtk.Window()
    content = Gtk.VBox()
    #source view
    liststore = Gtk.ListStore(Pixbuf, str)
    sourceview = Gtk.IconView.new()
    sourceview.set_model(liststore)
    sourceview.set_pixbuf_column(0)
    sourceview.set_text_column(1)

    sourceview.enable_model_drag_source(Gdk.ModifierType.BUTTON1_MASK, [],
    DRAG_ACTION)
    def on_drag_data_get( widget, drag_context, data, info, time):
    selected_path = self.get_selected_items()[0]
    selected_iter = self.get_model().get_iter(selected_path)
    print widget.get_model().get_iter(selected_iter, 1)
    sourceview.connect("drag-data-get", on_drag_data_get)

    for icon in icons:
    pixbuf = Gtk.IconTheme.get_default().load_icon(icon, 64, 0)
    liststore.append([pixbuf, "Label"])

    content.add(sourceview)
    #target view
    targetstore = Gtk.ListStore(Pixbuf, str)
    targetstore.append([Gtk.IconTheme.get_default().load_icon("gtk-save", 64,0), "X"])
    targetview = Gtk.IconView.new()
    targetview.set_model(targetstore)
    targetview.set_pixbuf_column(0)
    targetview.set_text_column(1)
    targetview.drag_dest_set(Gtk.DestDefaults.ALL, [], DRAG_ACTION)


    def on_drag_data_received(self, widget, drag_context, x,y, data,info, time):
    text = data.get_text()
    print("Received text: %s" % text)
    targetview.connect("drag-data-received", on_drag_data_received)

    content.add(targetview)

    win.add(content)
    win.connect("delete-event", Gtk.main_quit)
    win.show_all()
    Gtk.main()

    Odpovědi

    21.7.2015 16:35 Ondřej Kolín
    Rozbalit Rozbalit vše Re: Python GTK+
    Nějak si nekamarádím se zdejším formátováním (byl jsem línej cheknout to jinde než v tom WISIWYG editoru, omlouvám se.
    
    	
    
        #!/usr/bin/env python
        # -*- coding: utf-8 -*-
        from gi.repository import Gtk, Gdk
        from gi.repository.GdkPixbuf import Pixbuf
        (TARGET_ENTRY_TEXT, TARGET_ENTRY_PIXBUF) = range(2)
        (COLUMN_TEXT, COLUMN_PIXBUF) = range(2)
         
        DRAG_ACTION = Gdk.DragAction.COPY
         
        icons = ["gtk-cut", "gtk-paste", "gtk-copy"]
         
        win = Gtk.Window()
        content = Gtk.VBox()
        #source view
        liststore = Gtk.ListStore(Pixbuf, str)
        sourceview = Gtk.IconView.new()
        sourceview.set_model(liststore)
        sourceview.set_pixbuf_column(0)
        sourceview.set_text_column(1)
         
        sourceview.enable_model_drag_source(Gdk.ModifierType.BUTTON1_MASK, [],
                    DRAG_ACTION)
        def on_drag_data_get( widget, drag_context, data, info, time):
            selected_path = self.get_selected_items()[0]
            selected_iter = self.get_model().get_iter(selected_path)
            print widget.get_model().get_iter(selected_iter, 1)
        sourceview.connect("drag-data-get", on_drag_data_get)
         
        for icon in icons:
            pixbuf = Gtk.IconTheme.get_default().load_icon(icon, 64, 0)
            liststore.append([pixbuf, "Label"])
         
        content.add(sourceview)
        #target view
        targetstore = Gtk.ListStore(Pixbuf, str)
        targetstore.append([Gtk.IconTheme.get_default().load_icon("gtk-save", 64,0), "X"])
        targetview = Gtk.IconView.new()
        targetview.set_model(targetstore)
        targetview.set_pixbuf_column(0)
        targetview.set_text_column(1)
        targetview.drag_dest_set(Gtk.DestDefaults.ALL, [], DRAG_ACTION)
         
         
        def on_drag_data_received(self, widget, drag_context, x,y, data,info, time):
            text = data.get_text()
            print("Received text: %s" % text)
        targetview.connect("drag-data-received", on_drag_data_received)
         
        content.add(targetview)
         
        win.add(content)
        win.connect("delete-event", Gtk.main_quit)
        win.show_all()
        Gtk.main()
    
    
    
    21.7.2015 17:46 chrono
    Rozbalit Rozbalit vše Re: Python GTK+
    Problém je, že je parameter targets pri enable_model_drag_source a drag_dest_set prázdny. Je možné to tam dať priamo pri volaní tej funkcie, prípadne sa to môže nastaviť neskôr, pomocou drag_source_set_target_list a drag_dest_set_target_list (prípadne sa môžu použiť pomocné funkcie, ktoré umožňujú jednoduché pridanie niektorých formátov).
    21.7.2015 20:23 KOLEGA
    Rozbalit Rozbalit vše Re: Python GTK+
    Díky za odpověď, mohl by jsi mi to hodit do kódu? Omlouvám se, že jsem tak neschopnej, ale jsem úplně vygumovanej ... Mě jde jenom o to abych při drag n drop něco vypsal ... Snad se dostanu pak zase dál ... Ještě jednou fakt díky
    21.7.2015 21:34 chrono
    Rozbalit Rozbalit vše Re: Python GTK+
    V tom originálnom kóde ale všetko potrebné je (je tam aj to vypísanie niečoho): 19. Drag and Drop
    21.7.2015 22:14 KOLEGA | skóre: 17 | blog: odpocinuti_vecne
    Rozbalit Rozbalit vše Re: Python GTK+
    Díky za link, podle něj jsem to nerozchodil ... Jde o to, že autor tam používá label, kterej se chová trochu jinak než itemview ...

    Zkoušel jsem přepisovat jeden cčkovej kód, kde to chodilo, ale ten jsem taky nerozchodil ...

    Nicméně stejně díky, asi to nechám odležet, až se něco doučím, tak se k tomu vrátím ...

    tady je ten odkaz na to cčko, což je skoro to přesně co chci ...
    21.7.2015 22:14 KOLEGA | skóre: 17 | blog: odpocinuti_vecne
    Rozbalit Rozbalit vše Re: Python GTK+
    http://pastebin.com/dxyBaqhU

    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.