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 15:22 | IT novinky

    Eric Lengyel dobrovolně uvolnil jako volné dílo svůj patentovaný algoritmus Slug. Algoritmus vykresluje text a vektorovou grafiku na GPU přímo z dat Bézierových křivek, aniž by využíval texturové mapy obsahující jakékoli předem vypočítané nebo uložené obrázky a počítá přesné pokrytí pro ostré a škálovatelné zobrazení písma, referenční ukázka implementace v HLSL shaderech je na GitHubu. Slug je volným dílem od 17. března letošního

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    včera 15:11 | Zajímavý projekt

    Sashiko (GitHub) je open source automatizovaný systém pro revizi kódu linuxového jádra. Monitoruje veřejné mailing listy a hodnotí navrhované změny pomocí umělé inteligence. Výpočetní zdroje a LLM tokeny poskytuje Google.

    Ladislav Hagara | Komentářů: 3
    včera 04:44 | Zajímavý software

    Cambalache, tj. RAD (rapid application development) nástroj pro GTK 4 a GTK 3, dospěl po pěti letech vývoje do verze 1.0. Instalovat jej lze i z Flathubu.

    Ladislav Hagara | Komentářů: 0
    20.3. 14:55 | Nová verze

    KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.

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

    Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.

    Ladislav Hagara | Komentářů: 7
    20.3. 04:44 | Zajímavý článek

    Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).

    Ladislav Hagara | Komentářů: 2
    20.3. 00:33 | Nová verze

    Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    20.3. 00:11 | Zajímavý software

    Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.

    Ladislav Hagara | Komentářů: 7
    19.3. 19:22 | Nová verze

    GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.

    Ladislav Hagara | Komentářů: 0
    19.3. 04:00 | Bezpečnostní upozornění

    Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1125 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    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: 250×
    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.