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 16:55 | IT novinky

    Facebook má nové logo. Poznáte rozdíl?

    Ladislav Hagara | Komentářů: 1
    dnes 15:55 | Nová verze

    Byla vydána nová verze 7.2 v Javě napsané aplikace pro komplexní návrh rozmístění nábytku a dalšího vybavení v interiérech Sweet Home 3D. Vyzkoušet lze online verzi. Před dvěma týdny vyšla placená verze pro chytré telefony a tablety (App Store, Google Play).

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Pozvánky

    Zítra 23. září proběhne Maker Faire Mladá Boleslav, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Byla vydána beta verze Ubuntu 23.10 s kódovým názvem Mantic Minotaur. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 23.10 mělo vyjít 12. října 2023.

    Ladislav Hagara | Komentářů: 9
    včera 11:22 | Zajímavý článek

    Josef Průša informuje o nových verzích firmwarů pro tiskárny Original Prusa, 5.0.0 pro MK4 a MK3.9 a 5.1.0-alpha1 pro MINI, díky kterým jsou tiskárny mnohem rychlejší.

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

    Mastodon (Wikipedie), svobodná federalizovaná sociální síť, byl vydán ve verzi 4.2. Z novinek je vypíchnuto vylepšené vyhledávání.

    Ladislav Hagara | Komentářů: 8
    včera 08:55 | Zajímavý článek

    Ben Hawkes publikoval pod názvem The WebP 0day analýzu bezpečnostní chyby CVE-2023-4863 v knihovně WebP / libwebp s řadou zajímavých odkazů. Pravděpodobně se jedná o stejnou chybu jako BLASTPASS (CVE-2023-41064 a CVE-2023-41061) v macOS, iOS, iPadOS a watchOS. Zpracování (zobrazení) speciálně připraveného obrázku nebo přílohy vedlo ke spuštění útočníkem připraveného kódu.

    Ladislav Hagara | Komentářů: 0
    včera 08:11 | Zajímavý článek

    Myš je pro kočku: Prohlížeče je dalším dílem ze série článků Myš je pro kočku, kde Edvard Rejthar ukazuje, jak lze počítač ovládat bez myši. Používáte ve webových prohlížečích zkratky Ctrl+(Shift)+Tab, Ctrl+(Shift)+PgDn/PgUp, F6, (Shift)+Alt+Enter nebo F7?

    Ladislav Hagara | Komentářů: 9
    21.9. 14:33 | Nová verze

    Vývojáři mobilní Datovky prosí o pomoc s testováním beta verze mobilní Datovky s novým grafickým rozhraním, podporou pro tmavý režim a podporou pro VoDZ. Aplikace je zatím dostupná pouze pro zařízení Android a je umístěna v samostatném instalačním kanále Datovka Beta. Tento kanál slouží pro testovaní nové funkcionality a grafického uživatelského rozhraní. Datovka Beta se instaluje jako samostatná aplikace s vlastními daty, která

    … více »
    Ladislav Hagara | Komentářů: 0
    21.9. 13:22 | Zajímavý software

    Harlequin byl vydán ve verzi 1.0.0. Jedná se o TUI (Text User Interface) IDE (Integrated Development Environment) k systému pro správu SQL OLAP databází DuckDB.

    Ladislav Hagara | Komentářů: 0
    Knihy s linuxovou tematikou
     (19%)
     (15%)
     (50%)
     (27%)
    Celkem 272 hlasů
     Komentářů: 11, poslední 17.9. 19:19
    Rozcestník

    Dotaz: c++ a Qt

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

    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: 72 | 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: 72 | 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: 62 | 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.