logo

C++ GUI

GUI je skratka pre Graphical User Interface. Tie sú nevyhnutnou súčasťou moderného vývoja softvéru. Grafické používateľské rozhrania umožňujú vývojárom vytvárať aplikácie, s ktorými môžu používatelia jednoducho interagovať. C++ je výkonný programovací jazyk, ktorý je široko používaný pri vývoji zložitých softvérových systémov. V tomto článku preskúmame, ako vytvoriť GUI v C++ pomocou rôznych knižníc a rámcov.

Čo je GUI?

Grafické používateľské rozhranie alebo GUI umožňuje používateľom komunikovať s počítačom pomocou vizuálnych prvkov, ako sú tlačidlá, ponuky a dialógové okná. GUI poskytujú ľahko použiteľné a intuitívne rozhranie, ktoré používateľom umožňuje vykonávať úlohy rýchlo a efektívne. Sú široko používané v aplikáciách, ako sú webové prehliadače, prehrávače médií a kancelárske balíky.

Prečo C++ pre vývoj GUI?

C++ je výkonný programovací jazyk. S pomocou C++ dokážeme vyvinúť komplexné softvérové ​​systémy vrátane GUI. Niektoré z dôvodov, prečo je C++ populárnou voľbou pre vývoj GUI, zahŕňajú:

    Výkon:C++ je vysoko výkonný jazyk, ktorý dokáže spúšťať kód rýchlo a efektívne. Je ideálny pre vývoj GUI.Podpora viacerých platforiem:C++ je možné skompilovať pre viacero operačných systémov. Je to skvelá voľba pre vytváranie multiplatformových GUI aplikácií.Široká škála knižníc a rámcov:C++ má k dispozícii obrovské množstvo knižníc a rámcov pre vývoj GUI. Dáva vývojárom veľa možností, pokiaľ ide o vytváranie ich aplikácií.

Knižnice a rámce pre vývoj C++ GUI

Existuje toľko knižníc a rámcov dostupných na vývoj GUI v C++. Poďme sa pozrieť na niektoré z najpopulárnejších možností.

1. Qt

Qt je najpopulárnejší open-source GUI toolkit. Je široko používaný na vývoj multiplatformových GUI aplikácií. Poskytuje komplexnú sadu nástrojov a knižníc na vytváranie moderných GUI aplikácií, vrátane podpory pre dotykový vstup a vstup založený na gestách, pokročilú grafiku a multimédiá.

Program 1:

 #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(); } 

Výkon:

C++ GUI

Vysvetlenie

Tento program v jazyku C++ používa funkciu sprintf na formátovanie reťazca a funkciu printf na tlač naformátovaného reťazca do konzoly. Deklaruje niektoré premenné, priradí im hodnoty, naformátuje reťazec a odošle ho do konzoly.

2. wxWidgets

wxWidgets je ďalší populárny multiplatformový GUI nástroj. Poskytuje sadu nástrojov a knižníc na vytváranie moderných GUI aplikácií. Podporuje širokú škálu platforiem vrátane Windows, Linux a macOS.

Program 2:

numpy linspace
 #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; } 

Výkon:

C++ GUI

Vysvetlenie

Toto je základný kód wxWidgets, ktorý vytvorí okno so stavovým riadkom a zobrazí text „Hello World“. Trieda HelloWorldApp je definovaná na implementáciu aplikácie. Funkcia OnInit() inicializuje aplikáciu a vytvorí nový rámec so zadaným názvom. Funkcia CreateStatusBar() vytvorí stavový riadok v spodnej časti okna a SetStatusText() nastaví text, ktorý sa má zobraziť v stavovom riadku. Nakoniec funkcia Show() zobrazí okno a SetTopWindow() nastaví rámec ako okno najvyššej úrovne.

3. FLTK

Je to skratka pre Fast Light Toolkit. Je to multiplatformový GUI toolkit. Poskytuje ľahkú a rýchlu sadu nástrojov a knižníc na vytváranie GUI aplikácií. Je to obľúbená voľba pre stavebné aplikácie, ktoré vyžadujú malé rozmery alebo majú prísne požiadavky na výkon.

Program 3:

 #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(); } 

Výkon:

C++ GUI

Vysvetlenie

Tento kód používa knižnicu fltk na vytvorenie okna s miniaplikáciou označenou box, ktorá hovorí „Ahoj, svet!“. Krabica má tučnú kurzívu, veľkosť 36 a tieňový štítok. Okno má veľkosť 300 x 180 pixelov a na obrazovke sa zobrazuje pomocou funkcie show(). Funkcia run() spustí hlavnú slučku udalostí na spracovanie vstupu používateľa a ponechá okno viditeľné, kým ho používateľ nezavrie.

4. SDĽ

Je to skratka pre Simple DirectMedia Layer. Ide o multiplatformovú multimediálnu knižnicu. Poskytuje sadu nástrojov a knižníc na vytváranie hier a multimediálnych aplikácií. Zahŕňa audio, video, vstupné zariadenia a sieťovú podporu, čo z neho robí všestrannú možnosť vytvárania multimediálne bohatých GUI aplikácií.

Program 4:

 #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; } 

Výkon:

C++ GUI

Vysvetlenie

Toto je základný program SDL napísaný v jazyku C. Inicializuje knižnicu SDL pomocou SDL_Init(), vytvorí okno pomocou SDL_CreateWindow() a vstúpi do nekonečnej slučky pomocou while(1). Slučka nič nerobí a len čaká, kým používateľ zavrie okno alebo ukončí program. Ak sa pri inicializácii SDL vyskytne chyba, pomocou funkcie printf() sa vytlačí chybové hlásenie. Program pri úspechu vráti 0.

Záver

C++ poskytuje výkonný a efektívny programovací jazyk pre vývoj GUI aplikácií. Má širokú škálu knižníc a rámcov. Vývojári majú veľa možností, pokiaľ ide o vytváranie ich aplikácií. Či už si vývojár vyberie Qt, wxWidgets, FLTK alebo SDL, môže vytvárať bohaté a moderné GUI aplikácie, ktoré bežia na rôznych platformách.