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 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    včera 16:00 | IT novinky

    Řemínky pro Apple Watch, bezdrátová sluchátka nebo nabíjecí adaptéry. Takovou nabídku našli v uplynulých dnech příslušníci Celního úřadu v Liberci při kontrole kamenného obchodu na Náchodsku. Celkem zde zadrželi 3 035 kusů zboží podezřelého z porušování práv duševního vlastnictví. Pokud by se jednalo o originální výrobky, jejich hodnota by podle odhadu přesáhla 10,8 milionu korun.

    Ladislav Hagara | Komentářů: 8
    včera 14:11 | Nová verze

    Byla vydána verze 31.1 textového editoru GNU Emacs. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Nová verze

    Webový prohlížeč Waterfox (Wikipedie), fork Firefoxu, byl vydán ve verzi 6.7.0. Postaven je na jádru Gecko ESR 153.

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

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.17.0. Podrobný přehled novinek v changelogu. Přidána byla základní podpora gamepadů. Opraveno bylo několik zranitelností. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

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

    Americká technologická společnost Apple loni v Irsku na daních zaplatila 17 miliard dolarů (zhruba 350 miliard Kč). To představovalo 40 procent celkové částky, kterou firma odvedla na dani z příjmů po celém světě. Vyplývá to z účetních výkazů podniku. Platbu výrazně zvýšilo rozhodnutí Soudního dvora EU z roku 2024, podle něhož měl Apple doplatit Irsku na daních 13 miliard eur (313 miliard Kč).

    Ladislav Hagara | Komentářů: 0
    včera 09:55 | Zajímavý projekt

    CrossPoint Reader je open-source alternativní firmware pro menší, levné čtečky, vybavené cca čtyřpalcovým e-ink displejem. Zahrnuje aplikaci pro čtení e-knih a webový server pro konfiguraci a přenos souborů po síti. Verze 1.0 byla vydána v únoru 2026. Recenze současné verze 1.5 vyšla na Linux Weekly News.

    |🇵🇸 | Komentářů: 0
    21.8. 05:00 | Nová verze

    Byla vydána verze 1.98.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    21.8. 04:22 | Nová verze

    Byla vydána nová verze 7.1 (YouTube) svobodného open source redakčního systému WordPress. Kódové jméno Mary Lou bylo vybráno na počest americké jazzové klavíristky Mary Lou Williams (YouTube).

    Ladislav Hagara | Komentářů: 0
    20.8. 19:11 | Nová verze

    Bun (Wikipedie), tj. běhové prostředí (runtime) a toolkit pro JavaScript a TypeScript, alternativa k Node.js a Deno, byl vydán ve verzi 1.4. Představení novinek také na YouTube. Bun byl přepsán z programovacího jazyka Zig do Rustu. Pomocí Claude Fable 5.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2493 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: qt4 QApplication mimo hlavní thread

    13.7.2010 10:50 vencas | skóre: 32
    qt4 QApplication mimo hlavní thread
    Přečteno: 475×
    Zdravím,

    mám program, jehož hlavní větev běží v pythonu, výpočetní část je v c++ a chtěl bych (ale jen někdy a ne na začátku programu) spustit několik oken přes PyQt4. Mám tam teď něco jako
    from PyQt4 import QtGui
    qapp=QtGui.QApplication(sys.argv)
    import thread
    thread.start_new_thread(qapp.exec_,())
    
    protože chci, aby mi qapp.exec_() běželo na pozadí. Sice to funguje (okna klikají etc), ale křičí to na mě
    QApplication::exec: Must be called from the main thread
    
    což je ale přesně to, co nechci -- v době kdy se pouští Qt, už několik ostatních threadů běží.

    Lze to nějak obejít? Může být i pomocí c++.

    Díky.

    Odpovědi

    14.7.2010 09:49 majo
    Rozbalit Rozbalit vše Re: qt4 QApplication mimo hlavní thread
    skus presunut riadok:

    qapp=QtGui.QApplication(sys.argv)

    na zaciatok threadu, mam pocit ze podmienkou je iba aby new a exec boli v kontexte jedneho a toho isteho threadu.
    Vojta Drbohlav avatar 14.7.2010 11:14 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
    Rozbalit Rozbalit vše Re: qt4 QApplication mimo hlavní thread
    To není pravda, alespoň v C++ to takhle nefunguje. Nepovedlo se mi nijak donutit QApplication běžet mimo main thread.
    14.7.2010 12:56 majo
    Rozbalit Rozbalit vše Re: qt4 QApplication mimo hlavní thread
    pripajam framgment z existujuce a funkcnej QT4 C++ aplikacie kde QApp je spustene v tele threadu ineho ako main:
    void UserInterface::run()
    {
        waitForStart();
        const char* argv[1] = { "rdp" };
        int argc = 1;
        app = new QApplication(argc, (char **) argv);
        view = new Window(this, container);
        view->showMe();
        app->exec();
        delete view;
        view = 0;
        delete app;
        app = 0;
    }
    
    Vojta Drbohlav avatar 14.7.2010 13:02 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
    Rozbalit Rozbalit vše Re: qt4 QApplication mimo hlavní thread
    To je divný, dělal jsem to úplně stejně, jen jsem neměl na začátku waitForStart();, zkusím to.
    14.7.2010 20:50 majo
    Rozbalit Rozbalit vše Re: qt4 QApplication mimo hlavní thread
    wait nie qt funkcia tudiz to ani nepojde, napada ma jedna zmena - moj thread nebol QThread ale Poco::Thread - inak povedane - obycajny pthread - teoreticky by aj to mohlo byt rozdiel.
    Vojta Drbohlav avatar 14.7.2010 21:12 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
    Rozbalit Rozbalit vše Re: qt4 QApplication mimo hlavní thread
    Jojo máš pravdu, je potřeba QApplication vytvářet v jiném threadu než je QThread, například použít zmíněné Poco, nebo rovnou pthread.
    14.7.2010 21:28 vencas | skóre: 32
    Rozbalit Rozbalit vše Re: qt4 QApplication mimo hlavní thread
    Tak jsem to zkoušel, ale v Pythonu když pustím QApplication mimo hlavní thread, tak se sice varování umlčí, ale nezobrazují se potom okýnka vytvořená v hlavním threadu (nebo nějakém jiném) a dostávám taky warning QPixmap: It is not safe to use pixmaps outside the GUI thread.

    Asi takhle:
    import sys,threading
    def startQt4():
       qapp=QApplication(sys.argv)
       qapp.exec_()
    threading.start_new_thread(startQt4,())
    # ...
    
    David Watzke avatar 14.7.2010 23:19 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: qt4 QApplication mimo hlavní thread
    Obecně je vhodný pracovat s GUI jen z jednoho vlákna (z toho, kde běží QApplication). To taky nejde?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Jardík avatar 15.7.2010 00:09 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: qt4 QApplication mimo hlavní thread

    Obecně každý QObject potřebuje ke své funkčnosti (tím myslím funkční signnály, sloty) běžící "qt smyčku" v tom samém threadu, kde byl vytvořen*, ať už je spuštěna v QApplication::exec() či QThread::exec(). QApplication se od QThreadu liší akorát tím, že inicializuje nějaký ty data v Qt knihovně a označí thread, kde je vytvořen, za hlavní.

    * Lze použít QObject::moveToThread k "přesunutí" do jiného threadu. Jak se s tím ale vyrovnají widgety, to nevím. Možná dobře, možná ne, záleží na tom, jak dobře se s tím vyrovná XLib.

    Věřím v jednoho Boha.

    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.