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

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 4
    dnes 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

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

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

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

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 2
    včera 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

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

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    6.10. 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 197 hlasů
     Komentářů: 13, poslední dnes 07:41
    Rozcestník

    Dotaz: Ako na Qt?

    26.1.2014 15:12 mino
    Ako na Qt?
    Přečteno: 571×
    Ucim sa Qt a neviem ako mam priradit tlacitku event(SLOT) ako toto mi kompilator nezozerie:
    QPushButton* btn = new QPushButton("Klikni sem frišky!");
    this->setCentralWidget(btn);
    
    QObject::connect(btn, &QPushButton::clicked, [=] {
         QMessageBox::information(NULL, "XXX",  "YYY");
    });
    

    Odpovědi

    Josef Kufner avatar 26.1.2014 18:52 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Hello world ! Segmentation fault (core dumped)
    26.1.2014 20:40 mino
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Na tom odkaze sa riesi len stara SIGNAL SLOT syntax, ktora mi funguje, ale ja by som chcel pouzivat tu novu pre C++ 11 s lamdami:

    http://qt-project.org/wiki/New_Signal_Slot_Syntax#2f49cd0d473b52e6ddb8b377a34e6c36

    a stale mi to hadze error:
    C:\Qt\Tools\QtCreator\bin\Test\mainwindow.cpp:25: error: no matching function for call to 'MainWindow::connect(QPushButton*&, void (QAbstractButton::*)(bool), MainWindow::MainWindow(QWidget*)::__lambda0)'
         });
          ^
    Jardík avatar 26.1.2014 22:04 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Překládáš v jakém kompilátoru? Jak je na tom MSVC netuším, ale pokud používáš GCC/mingw a nějakou rozumnou nestarou verzi či clang, tak potřebuješ kompilovat v v C++11 módu (parametr -std=c++11). Taky potřebuješ mít to Qt zkompilované s podporou C++11, netuším, jak jsou na tom binárky, co dávaj ke stažení, doporučuju zkompilovat si Qt sám. Taky by to mělo asi být nějaké Qt5, lambdy v Qt4 asi nejsou, ale blíže jsem nezkoumal, jestli je nebackportovali.

    Jinak když už jsem u toho, tak pozor, že když použiješ lambdy, tak se okradeš o automatické odpojení signálů při destrukci "cílového objektu" (protože vlastně v případě lambdy žádný cílový QObject není).
    Věřím v jednoho Boha.
    27.1.2014 12:01 mino
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Je to Qt 5, ale len z binarky skusim skompilovat zo zdrojaku. Skusal som GCC/mingw, MSVC mi Qt creator detegoval hned 3 verzie (ale nefunguje ani jedna) asi tam treba nieco dodatocne nastavit a idem skusit este Clang. Ten parameter vyskusam dik.
    Jardík avatar 27.1.2014 16:53 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Mingw doporučuju mingw-w64, místo obyčejného mingw, které tak trochu trpí zastaralostí (nebo alespoň trpělo v době, kdy jsem to zkoušel, tak před 2 roky :-)). Mají i 32bit binárky (kdyby matl název), a cross kompilátor pro linux. Kdysi dávno jsem s tím kompiloval 64bit Qt i QtCreator, fungovalo to :-)
    Věřím v jednoho Boha.
    Jardík avatar 27.1.2014 16:55 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Jinak to třeba tobě nefungovalo, protože to Qt mohlo být třeba kompilované MSVC a proto mohly být problémy s linkováním, nebo tak něco. Ty ofic binárky tuším jsou kompilované pro MSVC.
    Věřím v jednoho Boha.
    28.1.2014 23:05 Sten
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Jenom to tipuju, protože Qt znám jen zběžně, ale ta funkce ve druhém argumentu (signál) má parametr bool, zatímco ta lambda žádné parametry nemá. Zkusil bych:
    QObject::connect(btn, &QPushButton::clicked, [=](bool){
         QMessageBox::information(NULL, "XXX",  "YYY");
    });
    
    Jardík avatar 29.1.2014 00:00 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Ako na Qt?
    No ... když jsem před nějakou dobou zkoumal v qt signály (když vydávali prví Qt 5), tak connect dovoloval napojit slot, který měl buď stejně nebo méně (N) argumentů, kde oněch N argumentů mělo implicitní konverzi z prvních N argumentů toho slotu. To teda platilo, pokud byl slot member funkca. Jestli se u tý lambdy musí shodovat, to nevím.
    Věřím v jednoho Boha.
    26.1.2014 21:36 Ivan
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Tohle je C++11 syntaxe pro lambdu. Jaky pouzivas kompilator?

    PS: a jak moc dobre umis C++?
    27.1.2014 12:13 mino
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Pouzivam GCC. C++ sa ucim, syntax trochu poznam zo skoly, ale nikdy som v nom nic zmysluplne nenaprogramoval.
    26.1.2014 21:59 krabicezpapundeklu
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Chybí ti tam závorky: [=]() {
    Jardík avatar 26.1.2014 22:08 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Ako na Qt?
    Tam být nemusí, pokud neuvádí návratový typ.
    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.