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í
×
    včera 18:33 | IT novinky

    Google představil telefon Pixel 10a. S funkci Satelitní SOS, která vás spojí se záchrannými složkami i v místech bez signálu Wi-Fi nebo mobilní sítě. Cena telefonu je od 13 290 Kč.

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

    Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Fedora 43 Asahi Remix s KDE Plasma už funguje na M3. Zatím ale bez GPU akcelerace. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | IT novinky

    Red Hat představil nový nástroj Digital Sovereignty Readiness Assessment (GitHub), který organizacím umožní vyhodnotit jejich aktuální schopnosti v oblasti digitální suverenity a nastavit strategii pro nezávislé a bezpečné řízení IT prostředí.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Zajímavý software

    BarraCUDA je neoficiální open-source CUDA kompilátor, ale pro grafické karty AMD (CUDA je proprietární technologie společnosti NVIDIA). BarraCUDA dokáže přeložit zdrojové *.cu soubory (prakticky C/C++) přímo do strojového kódu mikroarchitektury GFX11 a vytvořit tak ELF *.hsaco binární soubory, spustitelné na grafické kartě AMD. Zdrojový kód (převážně C99) je k dispozici na GitHubu, pod licencí Apache-2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    17.2. 17:00 | IT novinky

    Podvodné reklamy na sociálních internetových platformách, jako je Facebook, Instagram nebo X, vytvořily loni v Česku jejich provozovatelům příjmy 139 milionů eur, tedy zhruba 3,4 miliardy korun. Proti roku 2022 je to nárůst o 51 procent. Vyplývá to z analýzy Juniper Research pro společnost Revolut. Podle výzkumu je v Česku zhruba jedna ze sedmi zobrazených reklam podvodná. Je to o 14,5 procenta více, než je evropský průměr, kde je podvodná každá desátá reklama.

    Ladislav Hagara | Komentářů: 6
    17.2. 15:44 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.6 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    17.2. 03:22 | Nová verze

    Czkawka a Krokiet, grafické aplikace pro hledání duplicitních a zbytečných souborů, byly vydány ve verzi 11.0. Podrobný přehled novinek v příspěvku na Medium. Od verze 7.0 je vedle frontendu Czkawka postaveného nad frameworkem GTK 4 vyvíjen nový frontend Krokiet postavený nad frameworkem Slint. Frontend Czkawka je už pouze v udržovacím módu. Novinky jsou implementovány ve frontendu Krokiet.

    Ladislav Hagara | Komentářů: 27
    17.2. 02:00 | Zajímavý článek

    Jiří Eischmann na svém blogu publikoval článek Úvod do MeshCore: "Doteď mě radioamatérské vysílání úplně míjelo. Když jsem se ale dozvěděl, že existují komunity, které svépomocí budují bezdrátové sítě, které jsou nezávislé na Internetu a do značné míry taky elektrické síti a přes které můžete komunikovat s lidmi i na druhé straně republiky, zaujalo mě to. Když o tom přede mnou pořád básnili kolegové v práci, rozhodl jsem se, že to zkusím taky.

    … více »
    Ladislav Hagara | Komentářů: 4
    16.2. 22:55 | Nová verze

    Byla vydána verze 0.5.20 open source správce počítačových her na Linuxu Lutris (Wikipedie). Přehled novinek v oznámení na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    16.2. 12:44 | IT novinky

    Peter Steinberger, autor open source AI asistenta OpenClaw, nastupuje do OpenAI. OpenClaw bude převeden pod nadaci a zůstane otevřený a nezávislý.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (11%)
     (27%)
     (3%)
     (4%)
     (2%)
     (12%)
     (26%)
    Celkem 902 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"

    13.12.2011 16:18 Peter S.
    gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"
    Přečteno: 246×
    Ahojte

    píšem taký gtk progamik a narazil som na takýto problem:

    Mám expander bal_exp a v nom button bal_button a iné widgety.

    Na expander som si nasadil tooltip, ktorý funguje. Problém je že daný tooltip sa zobrazuje aj nad vloženými widgetami a konkrétne aj nad menovaným bal_button. A ak priradim tip aj k bal_button, tak mi zobrazí (ku nemu) prazdny tip (predpokladám že "text" s nulovou dlžkov).

    Taktiež som si všimol že ked mám v bal_exp vložený hbox, tak v nom vložené widgety už tooltip z expanderu nepreberajú. Alebo je tam ešte nejaké iné pravidlo?

    Takže moja otázka je - ako prinútim bal_button aby nepreberal tooltip z bal_exp ale zobrazil iný text?

    Napadá ma možnosť dať ho do v|hboxu. Jednoduchšie riešenie by nebolo?

    Vďaka

    Odpovědi

    13.12.2011 16:24 Peter S.
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"
    no škoda že tu nie je edit - musím sa opraviť

    Takže štruktúra je taka expander > hbox a widgety v nom preberajú tooltip z expanderu, a nedovolia text zmeniť

    a až v hboxe je vbox v ktorom widgety už dovolia pomocou gtk_tooltips_set_tip zmenit text tipu.

    Je to zamotané :), sorry
    13.12.2011 16:47 l4m4
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"
    from gi.repository import Gtk
    
    w = Gtk.Window()
    w.connect('destroy', Gtk.main_quit)
    
    e = Gtk.Expander.new('Expand Me!')
    e.set_tooltip_text('This is the expander.')
    w.add(e)
    
    h = Gtk.Box()
    e.add(h)
    
    b = Gtk.Button.new_with_label('Click Me!')
    b.set_tooltip_text('This is the button.')
    h.add(b)
    
    w.show_all()
    Gtk.main()
    
    Toto ti nefunguje, jak má? (Gtk+ 3.2.3)
    13.12.2011 17:24 Peter S.
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"

    toto je python?

    ja to píšem v C. Ak je to python tak výsledok je toto:

     $ python gtkexp.py 
    Traceback (most recent call last):
      File "gtkexp.py", line 1, in 
        from gi.repository import Gtk
      File "/usr/lib/python2.7/dist-packages/gi/__init__.py", line 23, in 
        from ._gi import _API, Repository
    ImportError: /usr/lib/python2.7/dist-packages/gi/_gi.so: undefined symbol: g_callable_info_skip_return
    
    
    13.12.2011 18:19 l4m4
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"
    Ano, Python. Píšu v obojím, ale v Pythonu jsou příklady přehlednější. Podstatné je, že mi to normálně funguje.

    Debian, nebo nějaký derivát? Podle všeho je tam momentálně chaos v závislostech pygobjectu/pygtk...

    13.12.2011 18:25 Peter S.
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"
    Debian squeze. Môže byť problem aj u mna že mam mixované repozitáre. Stále ked niečo potrebujem nainštalovať, musím riešiť konflikty pomocou aptitude...

    Ale aj tak to asi bude problem v gtk a nie so starými alebo mixovanými balíkmi...
    13.12.2011 18:49 l4m4
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"
    Takže v C (zobáčky si oprav):
    #include [gtk/gtk.h]
    
    int
    main(int argc, char *argv[])
    {
        gtk_init(&argc, &argv);
    
        GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
    
        GtkWidget *expander = gtk_expander_new("Expand Me!");
        gtk_widget_set_tooltip_text(expander, "This is the expander.");
        gtk_container_add(GTK_CONTAINER(window), expander);
    
        GtkWidget *hbox = gtk_hbox_new(FALSE, 0);
        gtk_container_add(GTK_CONTAINER(expander), hbox);
    
        GtkWidget *button = gtk_button_new_with_label("Click Me!");
        gtk_widget_set_tooltip_text(button, "This is the button.");
        gtk_container_add(GTK_CONTAINER(hbox), button);
    
        gtk_widget_show_all(window);
        gtk_main();
    
        return 0;
    }
    
    Zkompilovatelné s Gtk+ 2 i 3 a s obojím (2.24.8 a 3.2.2) se chová identicky - správně.
    13.12.2011 22:29 Peter S.
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"

    nooooo... tak to je zaujímavé, ja používam toto: http://developer.gnome.org/gtk/2.24/GtkTooltips.html a tu ked to čítam sa píše:

    GtkTooltips has been deprecated in GTK+ 2.12, in favor of the new GtkTooltip API.

    a ukazuje to tu: http://developer.gnome.org/gtk/2.24/GtkTooltip.html . Citujem:

    Basic tooltips can be realized simply by using gtk_widget_set_tooltip_text()

    No je to čo ty používaš. Takže zajtra sa na to pôjdem a asi to celé prerobím.... A myslím že tým pádom je to asi vyriešené...

    14.12.2011 09:17 Peter S.
    Rozbalit Rozbalit vše ten istý efekt
    Takže prišiel som na to, že aj tu sa prejavuje "dedičnosť"

    Dopln si do tvojho kodu další button, napríklad takto:
    GtkWidget *button2 = gtk_button_new_with_label("Or Me!");
    gtk_container_add(GTK_CONTAINER(hbox), button2);
    A ked na neho nabehneš myšou tak sa tam objavi tip z expanderu
    14.12.2011 10:50 l4m4
    Rozbalit Rozbalit vše Re: ten istý efekt
    Aha, už asi chápu, o co ti jde. Pokud chceš nastavit tooltip tomu nápisu na expanderu, nikoli celému expanderu, tak to taky musíš udělat - viz gtk_expander_get_label_widget().
    13.12.2011 18:29 Peter S.
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"

    inak to mam 3x python 2.5 , 2.6 a 2.7. Toto hore bolo z defaultného pythona, teda asi 2.7, verzia 2.5 dáva toto:

     

    $ python2.5 gtkexp.py 
    Traceback (most recent call last):
    File "gtkexp.py", line 1, in <module>
    from gi.repository import Gtk
    ImportError: No module named gi.repository
    13.12.2011 23:09 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"
    Potencionálně trapný dotaz...

    Proč jsou v GTK všechny GUI prvky typu GtkWidget? Nebylo by přehlednější mít window, expander, hbox, button...
    Jsem mimořádně obtížný případ
    13.12.2011 23:26 Peter S.
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"
    no prečo musi byť x,y,z typu int a nemôžu byť rovno x,y,z??

    proste to gtk asi musí vedieť aká štruktura nasleduje v pamäti na pozícii (povedzme) 12345678

    aspon tak to chápem ja ako amatersky programátor :)
    13.12.2011 23:45 l4m4
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"
    Však ony jsou různých typů - akorát konstruktory widgetů jsou deklarovány s návratovým typem GtkWidget*, tj. bázové třídy. Nejspíš proto, že to tak kdosi kdysi deklaroval a už to tak zůstalo. Takže se takhle často deklarují i proměnné. Lze to dělat i naopak, mít proměnné konkrétních pointerových typů a přetypovávat dolů. Přetypovávat se ale někam musí kvůli C často tak jako tak.
    14.12.2011 00:02 Peter S.
    Rozbalit Rozbalit vše Re: gtk_expander + gtk_tooltips -> problemy s "dedičnosťou"

    ešte doplnil, štruktúra widgetov nie je dvojurovnova ale je to dost rozvetvený strom, napríklad:

    + GtkWidget
    +----GtkContainer
    +----GtkBox
    +----GtkVBox
    +----GtkFileChooserWidget

    a každý "parent" ma spravidla viac childov. V tomto príklade uvádzam stale len jeden child...

     

    sice nový pointer je definovaný ako gtkwidget * , ale samotný widget sa tvorí funkciou v tomto prípade:

     

    gtk_file_chooser_widget_new()

    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.