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 04:33 | Nová verze

    Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.

    Ladislav Hagara | Komentářů: 0
    22.5. 19:44 | IT novinky

    Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.

    Ladislav Hagara | Komentářů: 0
    22.5. 12:22 | Zajímavý článek

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

    Ladislav Hagara | Komentářů: 0
    22.5. 10:55 | Nová verze

    Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.

    Ladislav Hagara | Komentářů: 5
    22.5. 09:33 | IT novinky

    Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.

    Ladislav Hagara | Komentářů: 9
    22.5. 04:44 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    21.5. 21:33 | Bezpečnostní upozornění

    Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.

    Ladislav Hagara | Komentářů: 0
    21.5. 14:33 | IT novinky

    Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).

    Ladislav Hagara | Komentářů: 2
    21.5. 14:00 | Nová verze

    Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1697 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: c++ a Qt

    11.10.2006 10:49 neaktivni | skóre: 24 | blog: neaktivni
    c++ a Qt
    Přečteno: 204×

    Programuji nove v c++ a mam problem, ktery nevim, jak elegantne resit. Pokusim se ho popsat.

    Pouzivam toolkit Qt 4.1. Davam dohromady SQL manazer, jehoz snimek si prohlednete pro lepsi pochopeni meho zivotniho problemu.

    Tabu (QTabWidget) v prave casti muze byt nekonecno a obsah tabu muze byt ruznych trid (na obrazku trida, ktera bude zajistovat Query editor a jeho vystup). Jina trida s jinymi metodami bude u tabu pro editaci tabulek atd.

    A ja nevim, jak pracovat z obsahem tech tabu. Napr kdyz je widget na tabu tridy CTabQueryEditor a ma metodu GetActiveDB(), jak tu metodu zavolam, kdyz funkce currentWidget() tridy QTabWidget vraci QWidget*, ktery rozhodne nema metodu GetActiveDB()?

    Kdyby byl pocet tabu a jejich druhu staticky, nebyl by problem, ale takto nevim co stim. Nedokazu nejak rozumne pristoupit k dane tride. Prosim zkusenejsi ++kare o radu, priklad a podobne. Prohledaval jsem web, tutorialy a referencni prirucky Qt, ale nevim, co presne hledat, takze je to zatim bez uspechu.

    Dik

    Odpovědi

    11.10.2006 10:56 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: c++ a Qt
    Nejsem si úplně jistý, zda jsem zcela přesně pochopil váš problém, ale není řešením RTTI a dynamic_cast?
    11.10.2006 11:00 neaktivni | skóre: 24 | blog: neaktivni
    Rozbalit Rozbalit vše Re: c++ a Qt
    Jo, to sem vcera take nekde cetl a myslim, ze by to mohlo byt docela mozne, ale nevim, jestli to dokazu pouzit. Kdyby byl nejaky dobry link, bylo by to jeste lepsi. Ale jinak dik za nakopnuti. Jdu hledat.
    11.10.2006 11:03 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: c++ a Qt
    Zkuste se podívat do Thinking in C++, je to popsáno ve druhém dílu, sekce 3.8.
    11.10.2006 11:21 neaktivni | skóre: 24 | blog: neaktivni
    Rozbalit Rozbalit vše Re: c++ a Qt
    Diky moc. Uz to funguje. Mel jste pravdu.
    11.10.2006 11:06 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: c++ a Qt
    (CTabQueryEditor*)QTabWidget.currentWidget() ?
    msk avatar 11.10.2006 11:53 msk | skóre: 27 | blog: msk
    Rozbalit Rozbalit vše Re: c++ a Qt
    No, radsej ten dynamic cast.
    11.10.2006 14:39 Boris Dušek | skóre: 22 | blog: everything
    Rozbalit Rozbalit vše Re: c++ a Qt
    Zkuste qobject_cast<Trida>(object) a metodu QObject::inherits (const char * className) (imho právě tuhle metodu používá ten qobject_cast. Použití těch Qt variant (qobject_cast) by mělo být rychlejší než těch standardních C++, ale nejsem si jistý.

    Ukázkový kód by byl asi takhle:
    CTabQueryEditor * editor;
    if (editor = qobject_cast<CTabQueryEditor *>(tab->currentWidget ()))
    {
        //cast se podařil, Váš kód
        editor->GetActiveDB ();
        ...
    } else {
        //cast se nepodařil, buď cast na něco jiného, nebo error :)
    }
    


    Nebo se dá zjistit přímo typ toho widgetu -
    metodou tab->currentWidget ()->metaObject ()->className ().

    Vše ve zmíněné dokumentaci k QObject.
    vim ~/.emacs

    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.