A GUI a grafikus felhasználói felület rövidítése. Ezek a modern szoftverfejlesztés elengedhetetlen részei. A grafikus felhasználói felületek lehetővé teszik a fejlesztők számára, hogy olyan alkalmazásokat hozzanak létre, amelyekkel a felhasználók könnyen kommunikálhatnak. A C++ egy erőteljes programozási nyelv, amelyet széles körben használnak összetett szoftverrendszerek fejlesztésében. Ebben a cikkben megvizsgáljuk, hogyan lehet grafikus felhasználói felületeket létrehozni C++ nyelven különféle könyvtárak és keretrendszerek használatával.
dateformat.format
Mi az a GUI?
A grafikus felhasználói felület vagy grafikus felhasználói felület lehetővé teszi a felhasználók számára, hogy vizuális elemek, például gombok, menük és párbeszédpanelek segítségével kommunikáljanak a számítógéppel. A grafikus felhasználói felületek könnyen használható és intuitív felületet biztosítanak, amely lehetővé teszi a felhasználók számára a feladatok gyors és hatékony végrehajtását. Széles körben használják olyan alkalmazásokban, mint a webböngészők, médialejátszók és irodai programcsomagok.
Miért C++ a GUI fejlesztéshez?
A C++ egy erőteljes programozási nyelv. A C++ segítségével komplex szoftverrendszereket, köztük grafikus felhasználói felületeket is fejleszthetünk. Néhány ok, amiért a C++ népszerű választás a grafikus felhasználói felület fejlesztéséhez:
Könyvtárak és keretrendszerek a C++ grafikus felhasználói felület fejlesztéséhez
Nagyon sok könyvtár és keretrendszer áll rendelkezésre a C++ grafikus felhasználói felület fejlesztéséhez. Nézzünk meg néhányat a legnépszerűbb lehetőségek közül.
1. Qt
A Qt a legnépszerűbb nyílt forráskódú GUI eszközkészlet. Széles körben használják többplatformos GUI-alkalmazások fejlesztésére. Eszközök és könyvtárak átfogó készletét kínálja a modern GUI-alkalmazások készítéséhez, beleértve az érintés- és gesztusalapú bevitel támogatását, a fejlett grafikát és a multimédiát.
1. program:
#include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); char myoutput [60]; int stringlength, x=4, y=10; stringlength = sprintf(myoutput, '%d plus %d equals %d', x, y, x+y); printf ('[%s] is a string that is %d characters long. ', myoutput, stringlength); return a.exec(); }
Kimenet:
Magyarázat
Ez a C++ program a sprintf függvényt használja a karakterlánc formázására, a printf függvényt pedig a formázott karakterlánc konzolra való kinyomtatására. Deklarál néhány változót, értékeket rendel hozzájuk, formáz egy karakterláncot, és kiadja a konzolnak.
2. wxWidgets
A wxWidgets egy másik népszerű, többplatformos grafikus felhasználói felület eszközkészlet. Eszközök és könyvtárak készletét kínálja a modern GUI-alkalmazások készítéséhez. A platformok széles skáláját támogatja, beleértve a Windowst, a Linuxot és a macOS-t.
különben ha java
2. program:
#include 'wx/wx.h' #include 'wx/wxprec.h' #include 'hello.h'IMPLEMENT_APP(HelloWorldApp)bool HelloWorldApp::OnInit() { wxFrame *frame = new wxFrame((wxFrame*) NULL, -1, _T('Hello wxWidgets World')); frame->CreateStatusBar(); frame->SetStatusText(_T('Hello World')); frame->Show(true); SetTopWindow(frame); return true; }
Kimenet:
Magyarázat
Ez egy alapvető wxWidgets kód, amely egy ablakot hoz létre állapotsorral, és megjeleníti a „Hello World” szöveget. A HelloWorldApp osztály az alkalmazás megvalósításához van definiálva. Az OnInit() függvény inicializálja az alkalmazást, és létrehoz egy új keretet a megadott címmel. A CreateStatusBar() függvény állapotsort hoz létre az ablak alján, a SetStatusText() pedig beállítja az állapotsoron megjelenő szöveget. Végül a Show() függvény megjeleníti az ablakot, a SetTopWindow() pedig a keretet állítja be legfelső szintű ablakként.
3. FLTK
A Fast Light Toolkit rövidítése. Ez egy többplatformos GUI eszközkészlet. Könnyű és gyors eszköz- és könyvtárkészletet biztosít GUI-alkalmazások építéséhez. Népszerű választás kis helyigényű vagy szigorú teljesítménykövetelményeket igénylő építési alkalmazásokhoz.
3. program:
#include #include #include using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, 'Hello, World!'); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); }
Kimenet:
karakterláncokból egész számokká
Magyarázat
Ez a kód az fltk könyvtárat használja egy ablak létrehozásához egy címkézett doboz widgettel, amely a következőt mondja: „Hello, World!”. A doboz félkövér, dőlt betűtípussal, 36-os mérettel és árnyékcímkével rendelkezik. Az ablak mérete 300 x 180 pixel, és a show() függvény segítségével jelenik meg a képernyőn. A run() függvény elindítja a fő eseményhurkot a felhasználói bevitel kezelésére, és láthatóan tartja az ablakot, amíg a felhasználó be nem zárja.
4. SDL
A Simple DirectMedia Layer rövidítése. Ez egy többplatformos multimédiás könyvtár. Eszközök és könyvtárak készletét kínálja játékok és multimédiás alkalmazások készítéséhez. Tartalmazza audio-, video-, beviteli eszközöket és hálózati támogatást, így sokoldalú lehetőség a multimédiában gazdag GUI-alkalmazások készítéséhez.
4. program:
#include #include #include int main(int argc, char *argv[]) { // returns zero on success else non-zero if (SDL_Init(SDL_INIT_EVERYTHING) != 0) { printf('error initializing SDL: %s ', SDL_GetError()); } SDL_Window* win = SDL_CreateWindow('GAME', SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1000, 1000, 0); while (1) ; return 0; }
Kimenet:
Magyarázat
Ez egy C nyelven írt alap SDL program. Inicializálja az SDL könyvtárat az SDL_Init() használatával, ablakot hoz létre az SDL_CreateWindow() használatával, és a while(1) használatával belép egy végtelen ciklusba. A hurok nem csinál semmit, és csak arra vár, hogy a felhasználó bezárja az ablakot vagy kilép a programból. Ha az SDL inicializálása során hiba lép fel, a printf() függvény használatával hibaüzenet kerül kinyomtatásra. A program 0-t ad vissza siker esetén.
Következtetés
A C++ hatékony és hatékony programozási nyelvet biztosít GUI-alkalmazások fejlesztéséhez. Számos könyvtárral és keretrendszerrel rendelkezik. A fejlesztőknek nagyon sok lehetőségük van az alkalmazásaik elkészítésére. Függetlenül attól, hogy a fejlesztő a Qt, a wxWidgets, az FLTK vagy az SDL-t választja, gazdag és modern GUI-alkalmazásokat hozhat létre, amelyek különböző platformokon futnak.