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í
×
    včera 22:00 | Komunita

    V červenci loňského roku organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo. Dnes bylo nové logo představeno. "Indiánské pírko" bylo nahrazeno dubovým listem a text Apache Software Foundation zkratkou ASF. Slovo Apache se bude "zatím" dál používat. Oficiální název organizace zůstává Apache Software Foundation, stejně jako názvy projektů, například Apache HTTP Server.

    Ladislav Hagara | Komentářů: 3
    včera 17:33 | Nová verze

    Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.104 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.104 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | IT novinky

    Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.

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

    Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.

    Ladislav Hagara | Komentářů: 1
    10.9. 21:22 | Nová verze

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    10.9. 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 3
    10.9. 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

    Ladislav Hagara | Komentářů: 0
    10.9. 05:44 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    9.9. 21:00 | IT novinky Ladislav Hagara | Komentářů: 17
    9.9. 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (2%)
     (4%)
     (2%)
    Celkem 164 hlasů
     Komentářů: 12, poslední 10.9. 13:00
    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.