logo

GUI C++

GUI pomeni grafični uporabniški vmesnik. Ti so bistveni del sodobnega razvoja programske opreme. Grafični uporabniški vmesniki omogočajo razvijalcem ustvarjanje aplikacij, s katerimi lahko uporabniki preprosto komunicirajo. C++ je zmogljiv programski jezik, ki se pogosto uporablja pri razvoju kompleksnih programskih sistemov. V tem članku bomo raziskali, kako zgraditi GUI v C++ z uporabo različnih knjižnic in ogrodij.

Kaj je GUI?

Grafični uporabniški vmesnik ali GUI uporabnikom omogoča interakcijo z računalnikom z uporabo vizualnih elementov, kot so gumbi, meniji in pogovorna okna. Grafični uporabniški vmesniki zagotavljajo enostaven in intuitiven vmesnik, ki uporabnikom omogoča hitro in učinkovito izvajanje nalog. Široko se uporabljajo v aplikacijah, kot so spletni brskalniki, medijski predvajalniki in pisarniški paketi.

Zakaj C++ za razvoj GUI?

C++ je močan programski jezik. S pomočjo C++ lahko razvijemo kompleksne programske sisteme, vključno z GUI. Nekateri razlogi, zakaj je C++ priljubljena izbira za razvoj GUI, vključujejo:

    Izvedba:C++ je visoko zmogljiv jezik, ki lahko hitro in učinkovito izvaja kodo. Idealen je za razvoj GUI.Podpora za več platform:C++ je mogoče prevesti za več operacijskih sistemov. Je odlična izbira za izdelavo večplatformskih GUI aplikacij.Širok nabor knjižnic in ogrodij:C++ ima na voljo ogromno knjižnic in ogrodij za razvoj GUI. Razvijalcem daje veliko možnosti, ko gre za izdelavo njihovih aplikacij.

Knjižnice in ogrodja za razvoj C++ GUI

Za razvoj GUI C++ je na voljo toliko knjižnic in ogrodij. Oglejmo si nekaj najbolj priljubljenih možnosti.

1. Qt

Qt je najbolj priljubljeno odprtokodno orodje GUI. Široko se uporablja za razvoj večplatformskih GUI aplikacij. Zagotavlja obsežen nabor orodij in knjižnic za izdelavo sodobnih aplikacij GUI, vključno s podporo za vnos na podlagi dotika in kretnje, napredno grafiko in večpredstavnostjo.

primerljiv niz

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

Izhod:

GUI C++

Pojasnilo

Ta program C++ uporablja funkcijo sprintf za formatiranje niza in funkcijo printf za tiskanje oblikovanega niza v konzolo. Deklarira nekaj spremenljivk, jim dodeli vrednosti, oblikuje niz in ga izpiše na konzolo.

2. wxWidgets

wxWidgets je še en priljubljen nabor orodij GUI za več platform. Zagotavlja nabor orodij in knjižnic za izdelavo sodobnih GUI aplikacij. Podpira široko paleto platform, vključno z Windows, Linux in macOS.

primerljiv seznam

Program 2:

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

Izhod:

GUI C++

Pojasnilo

motnost prehoda css

To je osnovna koda wxWidgets, ki ustvari okno s statusno vrstico in prikaže besedilo 'Hello World'. Razred HelloWorldApp je definiran za implementacijo aplikacije. Funkcija OnInit() inicializira aplikacijo in ustvari nov okvir z navedenim naslovom. Funkcija CreateStatusBar() ustvari statusno vrstico na dnu okna, SetStatusText() pa nastavi besedilo, ki bo prikazano v statusni vrstici. Končno funkcija Show() prikaže okno, SetTopWindow() pa nastavi okvir kot okno najvišje ravni.

3. FLTK

Okrajšava za Fast Light Toolkit. Je nabor orodij GUI za več platform. Zagotavlja lahek in hiter nabor orodij in knjižnic za izdelavo aplikacij GUI. Je priljubljena izbira za gradnjo aplikacij, ki zahtevajo majhen odtis ali imajo stroge zahteve glede zmogljivosti.

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

Izhod:

GUI C++

Pojasnilo

filmska igralka kajal

Ta koda uporablja knjižnico fltk za ustvarjanje okna z označenim gradnikom polja z napisom 'Hello, World!'. Škatla ima krepko poševno pisavo, velikost 36 in senčno oznako. Okno je velikosti 300 x 180 slikovnih pik in je prikazano na zaslonu s funkcijo show(). Funkcija run() zažene glavno zanko dogodkov za obdelavo uporabniškega vnosa in ohranja okno vidno, dokler ga uporabnik ne zapre.

4. SDL

Okrajšava za Simple DirectMedia Layer. Je večplatformska multimedijska knjižnica. Ponuja nabor orodij in knjižnic za izdelavo iger in večpredstavnostnih aplikacij. Vključuje avdio, video, vhodne naprave in podporo za mreženje, zaradi česar je vsestranska možnost za gradnjo multimedijsko bogatih GUI aplikacij.

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

Izhod:

GUI C++

Pojasnilo

arraylist java sort

To je osnovni program SDL, napisan v jeziku C. Inicializira knjižnico SDL z uporabo SDL_Init(), ustvari okno z uporabo SDL_CreateWindow() in vstopi v neskončno zanko z uporabo while(1). Zanka ne dela ničesar in samo čaka, da uporabnik zapre okno ali zapusti program. Če pride do napake pri inicializaciji SDL, se s funkcijo printf() natisne sporočilo o napaki. Program ob uspehu vrne 0.

Zaključek

C++ ponuja zmogljiv in učinkovit programski jezik za razvoj aplikacij GUI. Ima široko paleto knjižnic in ogrodij. Razvijalci imajo veliko možnosti, ko gre za izdelavo svojih aplikacij. Ne glede na to, ali razvijalec izbere Qt, wxWidgets, FLTK ali SDL, lahko ustvari bogate in sodobne GUI aplikacije, ki delujejo na različnih platformah.