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 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    🇨🇽 | Komentářů: 0
    včera 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    🇨🇽 | Komentářů: 5
    včera 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    🇨🇽 | Komentářů: 1
    včera 15:33 | Zajímavý software

    Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    26.12. 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
    26.12. 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ářů: 7
    26.12. 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
    26.12. 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
    25.12. 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
    Kdo vám letos nadělí dárek?
     (33%)
     (1%)
     (23%)
     (1%)
     (1%)
     (1%)
     (11%)
     (12%)
     (17%)
    Celkem 175 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    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: 243×
    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.