Nyt kun on koulussa tullut opeteltua tuota C++ komentorivipuolella, eli ihan tekstiseikkailuja sun muita matemaattisia ohjelmia on tullut tehtyä, niin olisi mukava opetella niitä graafisiakin. Opettajalta kysyin, että onko meille tulossa graafisia ohjelmia, eli siis ikkunallisia ohjelmia niinkuin esim. Visual Basicilla voi helposti tehdä, niin vastaus oli ei :(.
Haluaisin siis opetella koodailemaan C++:n puolelta näitä graafisia käyttöliittymiä. Mitkä kirjastot olis hyviä tähän hommaan ja löytyykö niihin ohjeita netistä helposti?
Helppoja vaihtoehtoja ovat ainakin
-SDL
-Allegro
Sitten kehittyneempiä ja ehkä vaativampia ovat esimerkiksi
-OpenGL
-DirectX
Jälkimmäiset soveltuvat sitten jo 3D-grafiikan luontiin. SDL:lle löyttyy oppaita aloittelijoille myös täältä putkasta.
SDL, Allegro ym. ovat tarkoitettu lähinnä peleihin. Normaaleihin käyttöliittymiin suosittelen (ja käytän myös itse) wxWidgets kirjastoa: http://www.wxwidgets.org/
Muita:
GTK - www.gtk.org ja sen c++ versio GTKmm - http://www.gtkmm.org/
Qt - http://www.trolltech.com/products/qt/
SDL loisi ikkunan, ja siihen saisi muitakin kuin pelejä hieman säätämällä. Ei liene aivan mahtava hommeli tavalliseen GUI-ohjelmointiin, mutta mahdollinen se voisi ollakin. En suosittele kuitenkaan.
Win32 on hyvä jos windows ohjelmia teet =D Ja se on kohtuun helppokin.
Win32-API aika hirveä käyttää (tiedän omasta kokemuksesta), ja mikä pahinta, jos teet ohjelman käyttäen Win32-API:a, toimii ohjelma ainoastaan Windows käyttöjärjestelmässä. Ei ole mitään syytä olla käyttämättä jotain korkeamman tason kirjastoa (kuten esim. wxWidgets), se tekee ohjelman teosta paljon helpompaa, ja mikä parasta, ohjelma toimii millä tahansa käyttöjärjestelmällä (Windows, Linux, Mac OS, jne).
Kiitosta vaan erittäin paljon ;)
Vielä sitten sellanen kysymys kun latasin nyt tuon wxWidgets-2.8.3 Windowsille, ja se sitten asentui tuonne C:\wxWidgets-2.8.3 ihan defaulttina. Miten mä sitten voin ruveta tekeen ohjelmia noilla kirjastoilla? Riitääkö, että kopioin tuon include-kansion vain esim. Dev-Cpp:n kansioon?
WxWidgetsin taitaa saada asennettua sillä Dev-C++:n asennustyökalulla. Sinun ei siis tarvitse ladata sitä erikseen netistä.
Voit myös kokeilla wxDev-C++ ohjelmaa, joka on varta vasten wxWidgets ohjelmien kehitystä varten tehty versio Dev-C++:stä: http://wxdsgn.sourceforge.net/
Se on hieman buginen, mutta siinä tulee wxWidgets mukana ja lisäksi vielä "Visual Basic"-tyylinen GUI-editori, jota tosin en ole kokeillut)
#ifdef Linux //tms. what ever #include <X11/X11.h> void alusta_akkuna(void) { tahan_x11_ikkunan_luonti_koodi(); } #endif #ifdef windows //tms. #include <windows.h> void alusta_akkuna(void) { tahan_win_ikkunan_luonti_koodi(); } #endif
:)
Aihe on jo aika vanha, joten et voi enää vastata siihen.