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 | IT novinky

    Společnost Meta na dvoudenní konferenci Meta Connect 2026 představuje své novinky. Vypíchnout lze lehké brýle s funkci VR Meta VR Glasses. Do prodeje půjdou na jaře 2027 za cenu 1299,99 dolarů.

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

    Google Chrome 154 byl prohlášen za stabilní. Nejnovější stabilní verze 154.0.8037.57 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 108 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 2
    včera 14:33 | IT novinky

    Vláda sníží v příštím roce výdaje na IT služby státu o 1,4 miliardy korun. Úspory má umožnit lepší koordinace nákupu služeb napříč resorty prostřednictvím nového zmocněnce. Celkové roční výdaje státu na informační technologie a digitalizaci se podle údajů ministerstva průmyslu a obchodu pohybují okolo 20 až 25 miliard korun ročně, pro letošek bylo na 320 projektů vyčleněno 21 miliard.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | IT novinky

    Irská komise pro ochranu dat (DPC) uložila americké technologické společnosti Google ze skupiny Alphabet pokutu 403 milionů eur (9,8 miliardy Kč) za neoprávněné nakládání s údaji o poloze uživatelů. Firma podle komise porušila evropské nařízení o ochraně osobních údajů (GDPR). DPC uvedla, že při šetření zjistila, že si lidé nemuseli být vědomi skutečnosti, že jejich poloha byla využívána například k ovlivňování prostřednictvím reklam nebo k odvozování jejich zájmů, a mohli tak ztratit kontrolu nad svými osobními údaji.

    Ladislav Hagara | Komentářů: 2
    včera 02:11 | IT novinky

    Byla oznámena beta verze nového video kodeku Pyrowave pro streamování her v Steam Remote Play. S vysokou propustností a nízkou latencí. S podporou HDR a YUV 4:4:4.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Nová verze

    Byl vydán Sublime Text 4 Build 4213. Sublime Text (Wikipedie) je proprietární multiplatformní editor textových souborů a zdrojových kódů. Ke stažení a k vyzkoušení je zdarma. Pro další používání je nutná licence v ceně 99 dolarů. Spolu se Sublime Merge je cena 168 dolarů.

    Ladislav Hagara | Komentářů: 0
    22.9. 21:55 | Zajímavý článek

    Firma Anthropic, tvůrce AI modelu Claude, začala v oblasti Sanfranciského zálivu v tichosti provozovat vlastní biotechnologickou laboratoř. Anthropic prý chce pomocí AI urychlit hledání léků na nemoci, jimž farmaceutický průmysl dle názoru firmy věnuje příliš málo pozornosti. Firma tvrdí, že laboratoř se zatím soustředí především na základní biologii, nikoli přímo na vývoj léčiv. Farmaceutický výzkum je pro generálního ředitele Daria Amodeie velice osobní téma, jeho otec zemřel na hepatitidu C několik málo let před objevením účinné léčby.

    AfD 💙 | Komentářů: 4
    22.9. 21:44 | Humor

    Vědci z Googlu dokončili mapu všech neuronových spojení v mozku (tzv. konektom) samečka mušky octomilky obecné (drosophila melanogaster), hlavním cílem je komparativní analýza s již zmapovaným mozkem samičky. S tímto veřejně dostupným modelem, čítajícím přibližně 160 000 neuronů, se začali bavit nadšenci. Mozek mouchy pohání experimentálního kryptoburzovního bota Stonkfly, případně si zahrál počítačové hry Beat Saber, Mario64 a samozřejmě DOOM (gameplay videa). Ani mozek samičky nezůstal stranou, vyzkoušel si Minecraft.

    AfD 💙 | Komentářů: 5
    22.9. 16:22 | Nová verze

    Alibaba Cloud je dalším sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let. Stejná částka jako u DigitalOcean.

    Ladislav Hagara | Komentářů: 5
    22.9. 16:11 | Nová verze

    Byla vydána nová verze 262 správce systému a služeb systemd (Wikipedie, GitHub).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2720 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Gtk3 Perl menu a klávesové zkratky

    Brilantní modř avatar 18.4.2013 13:36 Brilantní modř | skóre: 14
    Gtk3 Perl menu a klávesové zkratky
    Přečteno: 660×

    Dobrý den.

    Budu rád, když mi někdo, kdo se vyzná, pomůže.

    Nejdřív se prosím podívejte na tento obrázek. Je na něm otevřené menu Soubor editoru Bluefish, nalevo v tomto menu jsou jednotlivé položky a u některých z nich je napravo uvedena klávesová zkratka.

    Mám dotaz, který se týká zobrazení klávesových zkratek v menu (tak, jak je to na obrázku): Jak se to dá udělat v Gtk2 nebo Gtk3 Perlu?

    Mějme tento kód:

    #!/usr/bin/perl
    use strict;
    use warnings;
    use locale;
    use utf8;
    use Glib qw(TRUE FALSE);
    use Gtk3;
    
    sub quitf {
        Gtk3->main_quit();
    }
    
    Gtk3->init;
    
    my $label = Gtk3::Label->new("Hokusy pokusy...");
    
    my $statusbar = Gtk3::Statusbar->new();
    my $context_id_label = $statusbar->get_context_id("working_label");
    my $message_id_label = $statusbar->push($context_id_label, "Experiment se stavovým řádkem");
    
    my $menu_bar = Gtk3::MenuBar->new();
    
    my $menu_bar_item_hokus = Gtk3::MenuItem->new();
    $menu_bar_item_hokus->set_label("Hokus");
    
    my $menu_bar_item_pokus = Gtk3::MenuItem->new();
    $menu_bar_item_pokus->set_label("Pokus");
    
    $menu_bar->append($menu_bar_item_hokus);
    $menu_bar->append($menu_bar_item_pokus);
    
    my $menu_hokus = Gtk3::Menu->new();
    
    my $menu_hokus_item_soubor = Gtk3::MenuItem->new();
    $menu_hokus_item_soubor->set_label("Soubor");
    
    my $menu_hokus_item_novy = Gtk3::MenuItem->new();
    $menu_hokus_item_novy->set_label("Nový");
    
    my $menu_hokus_item_ulozit = Gtk3::MenuItem->new();
    $menu_hokus_item_ulozit->set_label("Uložit");
    
    my $menu_hokus_item_zavrit = Gtk3::MenuItem->new();
    $menu_hokus_item_zavrit->set_label("Zavřít");
    
    $menu_hokus->append($menu_hokus_item_soubor);
    $menu_hokus->append($menu_hokus_item_novy);
    $menu_hokus->append($menu_hokus_item_ulozit);
    $menu_hokus->append($menu_hokus_item_zavrit);
    
    $menu_bar_item_hokus->set_submenu($menu_hokus);
    
    my $menu_pokus = Gtk3::Menu->new();
    
    my $menu_pokus_item_napoveda = Gtk3::MenuItem->new();
    $menu_pokus_item_napoveda->set_label("Nápověda");
    
    my $menu_pokus_item_oaplikaci = Gtk3::MenuItem->new();
    $menu_pokus_item_oaplikaci->set_label("O aplikaci");
    
    $menu_pokus->append($menu_pokus_item_napoveda);
    $menu_pokus->append($menu_pokus_item_oaplikaci);
    
    $menu_bar_item_pokus->set_submenu($menu_pokus);
    
    my $vbox = Gtk3::VBox->new(0, 5);
    $vbox->pack_start($menu_bar, FALSE, FALSE, 0);
    $vbox->pack_start($label, FALSE, FALSE, 5);
    $vbox->pack_end($statusbar, FALSE, FALSE, 0);
    
    my $window = Gtk3::Window->new("toplevel");
    $window->signal_connect("destroy" => sub {
        &quitf();
    });
    $window->add($vbox);
    $window->show_all();
    
    Gtk3->main;
    
    __END__
    

    Co do něj přidat, aby se dosáhlo kýženého výsledku?

    Mám totiž (jinou) aplikaci, která podporuje různé klávesové zkratky, a já bych je chtěl uvést v hlavním menu u jeho jednotlivých položek, tak, jak je to zvykem.

    Předem děkuji za všechny podnětné odpovědi.


    Řešení dotazu:


    Odpovědi

    Řešení 1× (Brilantní modř (tazatel))
    18.4.2013 19:14 potato
    Rozbalit Rozbalit vše Re: Gtk3 Perl menu a klávesové zkratky
    Nebudu se pokoušet psát něco v Perlu, nicméně jsou různé možnosti. Udělat to totálně ručně včetně vytváření GtkAccelLabel a jejich cpaní do těch položek menu. To vynechávám. Udělat to celé high-level přes UIManager, builder, etc. a nematlat se s konstrukcí widgetů v kódu. To asi nechceš. Takže ta středně ruční cesta:

    1. Nastavíš položkám menu accel_path (cestu).

    2. Vytvoříš (nebo zrecykluješ) AccelGroup, kterou nastavíš jak těm menu, tak tomu oknu.

    3. Definuješ akcelerátory pomocí accel_map_add_entry(), která bere právě ty cesty nastavené v bodě 1.

    Příklad v Pythonu bude snad alespoň trochu podobný:
    from gi.repository import Gtk, Gdk
    
    w = Gtk.Window()
    w.set_default_size(300, -1)
    w.connect('destroy', Gtk.main_quit)
    
    m = Gtk.MenuBar()
    w.add(m)
    
    i = Gtk.MenuItem()
    i.set_label('Menu')
    i.set_accel_path('<main>/Menu')
    m.add(i)
    
    mm = Gtk.Menu()
    i.set_submenu(mm)
    mm.set_accel_group(Gtk.AccelGroup())
    w.add_accel_group(mm.get_accel_group())
    
    ii = Gtk.MenuItem(label='Text')
    ii.set_accel_path('<main>/Menu/Test')
    mm.add(ii)
    
    a = Gtk.AccelMap.get()
    a.add_entry('<main>/Menu/Test', Gdk.KEY_t, Gdk.ModifierType.CONTROL_MASK)
    
    w.show_all()
    Gtk.main()
    

    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.