A Qt Creator egy C++ programozáshoz használható integrált fejlesztői környezet. Ránézésre olyasmi, mint egy szövegszerkesztő, de programozást segítő kényelmi funkciókkal van ellátva.
Ez itt a C++ programozás kezdőknek tananyag legelső részének folytatása.
A tananyag következő része itt található: első program
Qt Creator letöltése
Habár manapság egy program letöltése eléggé magától értetődő (csak a Download feliratú gombokat kell keresgélni a honlapon), tapasztalataim szerint azzal nem mindenki van tisztában, hogy melyik verziót töltse le. Az ingyenesen használható verzió az open source, ami a C++ programozás alapjainak megtanulásához teljesen tökéletes. Ha kereskedelmi forgalomba szánt szoftvert kívánunk fejleszteni, akkor jó eséllyel nem lesz jó az open source verzió.
Ha kiválasztottuk az open source verziót, utána még keresgélnünk kell további Download feliratú gombokat, amikhez lehet, hogy valamennyit le kell görgetni.
Telepítés Windowson
Windowson a telepítés viszonylag magától értetődő.
A Qt Creator újabb verzióiban a telepítés során be kell jelentkezni, vagy regisztrálni kell.
A Qt Creatort érdemes szóközt nem tartalmazó könyvtárba telepíteni.
Az associate common file types lehetőséget nem biztos, hogy érdemes bejelölve hagyni, ha több fejlesztői környezetet használunk, és azt szeretnénk, hogy a Windows fájlkezelőjében egy C++ forrásfájlra duplán kattintva az adott fájl ne a Qt Creatorban nyíljon meg, hanem egy másik fejlesztői környezetben.
Ha minden komponenst telepítünk, az sok helyet foglal, és lassítja a munkát. Érdemes ezért csak azokat az összetevőket telepíteni, amire feltétlenül szükség van a feladatainkhoz. A tananyag követéséhez bőven elegendő telepíteni azt, ami alapból be van jelölve, továbbá valamelyik C++ fordítót. A MinGW erre teljesen tökéletes.
A tananyag szempontjából az is lényegtelen, hogy 32 bites vagy 64 bites verziót telepítünk. A 64 bites fordítóval létrehozott programok nem lesznek futtathatóak 32 bites rendszereken (fordítva ez nem igaz), illetve ha esetleg szeretnénk olyan függvénykönyvtárakat használni, amiknek csak 32 bites verziója létezik (ez a probléma a tananyag példaprogramjai esetén nem áll fenn), akkor szükség lehet a 32 bites fordítóra.
Akár mindkettőt egyszerre is telepíthetjük, és majd a fordítás előtt kiválaszthatjuk, hogy melyiket szeretnénk használni a fordításhoz.
Elképzelhető, hogy a 32 bites verzió bizonyos Qt verziók esetén nem telepíthető, ekkor esetleg azt tudjuk tenni, hogy egy korábbi Qt verzióból telepítjük a 32 bites fordítót.
További információ a témáról itt érhető el.
Telepítés Linuxon
Ez a telepítési módszer több Linux disztribúción is működik, attól függetlenül, hogy a screenshotok Ubuntuban készültek.
A tananyag írásának pillanatában a honlapról letölthető .run kiterjesztésű fájl egy bináris fájl, de később lehet, hogy ezt a telepítőfájlt kicserélik egy másfajta telepítő fájlra, például mondjuk egy shell script fájlra. Ebben a leírásban írtam arról, hogy hogyan lehet más módon telepíteni Linuxon parancssorból.
Lépjünk be abba a könyvtárba, ahová a telepítőfájlt letöltöttük. Ezt valami ilyesmi paranncsal tehetjük meg:
cd ~/Downloads
Ügyeljünk arra, hogy a telepítőfájlon legyen futtatási jog.
Ha az ls -l fájlnév parancs kimeneténél az első oszlopban nem szerepel x karakter, akkor nincs a fájlon futtatási jog. A következő paranccsal adhatunk futtatási jogot a telepítőfájlnak:
chmod u+x ./fájlnév
A telepítőt parancssorból a következő paranccsal indíthatjuk el (a sudo a rendszergazda jogosultsággal történő futtatást jelenti):
sudo ./fájlnév
Elképzelhető, hogy egyes Linux disztribúciókon (pl. Debianon) ahelyett, hogy a parancs elé írnánk, hogy sudo, a következő parancsot kell használnunk:
su root
...majd ezt követően sudo nélkül futtatni a fájlt:
./fájlnév
Ezt követően a telepítő el kéne, hogy induljon egy grafikus felületi ablakban.
A Qt Creator újabb verzióinak telepítőiben a telepítés folytatásához be kell jelentkezni vagy regisztrálni kell.
A Qt Creatort érdemes szóközt nem tartalmazó könyvtárba telepíteni. Amit a telepítő alapbeállítás szerint felajánl (/opt/Qt), az teljesen megfelelő.
Linuxon a fájl- és könyvtárnevekben számít a kis- és nagybetű.
Csakúgy mint Windowson, itt sem érdemes minden összetevőt telepíteni, mert sok helyet foglalnak, és lassítják a munkát. Elég csak bejelölni egy C++ fordítót (Linux/Unix-szerű operációs rendszereken jellemzően gcc/g++-t), és bejelölve hagyni azt, ami alapból be van jelölve.
A 32 bites fordítókra itt is ugyanaz érvényes, mint Windowson, nem írom le ide is mégegyszer, akit érdekel, olvassa el a Windowsos telepítésnél.
Egyéb telepítéssel kapcsolatos
No valid kits hibaüzenet esetén.
Windowsban és esetleg Linuxon is próbáljunk keresni olyat, hogy Qt Maintenance Tool, ha nincs, akkor az Uninstall Qt ugyanezt tudja. Értelemszerűen sehol nem jelöljük be uninstall szót tartalmazó lehetőséget, add or remove components-et választjuk, és telepítünk egy C++ fordítót (pl. gcc, mingw, msvc).
Linuxon parancssorból is telepíthetjük a hiányzó komponenseket:
sudo apt-get install qt5-default
Bővebb információ erről itt érhető el.
Hogyan kezdhetünk el programozni Qt Creatorban?
Projekt létrehozása
Ha valamilyen fejlesztői környezetet használunk (jelen esetben Qt Creatort), érdemes minden program számára külön projektet létrehoznunk. Például azért mert minden projekthez egyedi beállításokat használhatunk (pl. projektenként eltérő fordítókat használhatunk), vagy mert a több forrásfájlból álló programok fordítása könnyebb (bár igaz, az első példaprogramjaink egy forrásfájlból fognak csak állni).
A Fájl menüből válaszuk a New File or Project menüpontot.
Parancssoros program készítéséhez válasszuk a Non-Qt Project résznél a Plain C++ Application-t.
Adjunk egy tetszőleges, szóközt nem tartalmazó nevet a projektnek. Ekkor létrejön egy a projekt nevével azonos könyvtár, és a forrásfájlok azon belül lesznek elhelyezve.
Ezt követően válasszunk egy fordítót. Az egyszerű példaprogramjaink esetén szinte mindegy, hogy milyen fordítót használunk.
Akár több fordítót is bejelölhetünk egy projekthez. Ez esetben a fordítás csak egy fordítóval hajtódik végre, ha egy másikat szeretnénk használni, akkor azt nekünk kell kiválasztani majd a fejlesztői környezet bal alsó sarkában lévő képernyő ikonnál.
Az aktív projekt forrásfájljainak fordítását a fejlesztői környezet ablakának bal alsó sarkában lévő kalapács ikonnal (vagy a Ctrl + B billentyűkombinációval) végezhetjük el. Ha a zöld háromszög ikonra kattintunk (vagy a Ctrl + R billentyűkombinációt használjuk), akkor a fordítás is megtörténik, illetve a program is el lesz indítva, mint ahogy az a screenshoton is látható:
Aktív projekt
Ha egyszerre több projekt van megnyitva akkor a fordítás ikonra kattintva vagy a billentyűkombinációkat használva mindig csak az aktív projekt fordul le.
Az aktív projekt neve a bal oldali panelen vastagabb betűkkel szerepel.
Úgy lehet egy másik projektet beállítani aktív projektnek, ha a bal oldali panelen egy nem aktív projekt nevére jobb gombbal kattintunk, és a set "projektnév" as Active Project menüpontot választjuk.
C++11, C++14, szabványok
Úgy tudjuk beállítani, hogy egy adott projekt fordításánál a C++ nyelv egy adott szabványa (pl. C++14) legyen érvényes, ha a qmake beállításait tartalmazó (.pro kiterjesztésű) fájl egy külön sorába beleírjuk, hogy CONFIG += c++14, vagy ha már szerepel valami hasonló, akkor pl. átírjuk a c++11-et c++14-re.
További információ ide kattintva érhető el.
Választás több fordító közül egy projektben
Ha egy projekt létrehozásakor több fordítót is kiválasztottunk, akkor a fordítást csak az egyik fogja végrehajtani. Ha a fordítást egy másik fordítóval szeretnénk végrehajtani, akkor a fejlesztői környezet ablakának bal alsó sarkában lévő képernyőikonra kattintva válasszunk ki egy másik fordítót. Ezt követően még nem történik meg a fordítás, kattintsunk a fordítás vagy futtatás ikonra, vagy használjuk a gyorsbillentyűket.
Clean Project
Elképzelhető, hogy egy program forrásfájljaiban módosítottunk valamit, de hiába fordítjuk újra a programot, a futtatás esetén mégsem tapasztalunk változást. Ekkor segíthet, ha töröljük a fordítás eredményét képező fájlokat, vagy ha nem vagyunk benne biztosak, hogy melyek ezek a fájlok, a Build menüben választhatjuk a Clean Project "projektnév" menüpontot.
Értelemszerűen ezt követően a programunk forrásfájljai érintetlenek maradnak.
Debug vs release
A fejlesztői környezet ablakának bal alsó sarkában lévő képernyőikonra kattintva tudjuk beállítani azt is, hogy a fordítás elvégzésekor a debuggoláshoz szükséges információk belekerüljenek-e a futtatható állományba, vagy a felhasználónak szánt verziót (Release) szeretnénk elkészíttetni a fordítóval, mely esetben a kódoptimalizálás be lesz kapcsolva, a futtatható program jó eséllyel gyorsabb lesz.
A kiválasztás után a projekt nem fordul újra automatikusan, és elképzelhető, hogy egy cleanelésre is szükség lesz.
Shadow build
Alapbeállítás szerint minden projektben be van jelölve a "Shadow build" lehetőség, miszerint a futtatható program a projekt könyvtárától eltérő könyvtárba jön létre. Ha ezt kikapcsoljuk, akkor a fordítás eredménye a projekt könyvtárán belül jön létre a debug vagy release alkönyvtárakba.
Egyéb fordítással kapcsolatos
Egyéb compiler flagek beállítása qmakeben.
A tananyag következő része itt található: első program