logo

C++ GUI

GUI je kratica za grafičko korisničko sučelje. Oni su bitan dio modernog razvoja softvera. Grafička korisnička sučelja omogućuju programerima stvaranje aplikacija s kojima korisnici mogu lako komunicirati. C++ je moćan programski jezik koji se široko koristi u razvoju složenih softverskih sustava. U ovom ćemo članku istražiti kako izgraditi GUI u C++ koristeći različite biblioteke i okvire.

Što je GUI?

Grafičko korisničko sučelje ili GUI omogućuje korisnicima interakciju s računalom pomoću vizualnih elemenata kao što su gumbi, izbornici i dijaloški okviri. GUI pružaju intuitivno sučelje jednostavno za korištenje koje korisnicima omogućuje brzo i učinkovito obavljanje zadataka. Naširoko se koriste u aplikacijama kao što su web preglednici, media playeri i uredski paketi.

Zašto C++ za razvoj GUI-ja?

C++ je moćan programski jezik. Uz pomoć C++, možemo razviti složene softverske sustave, uključujući GUI. Neki od razloga zašto je C++ popularan izbor za GUI razvoj uključuju:

    Izvođenje:C++ je jezik visokih performansi koji može brzo i učinkovito izvršavati kod. Idealan je za razvoj GUI-ja.Podrška za više platformi:C++ se može kompajlirati za više operacijskih sustava. To je izvrstan izbor za izradu višeplatformskih GUI aplikacija.Širok raspon biblioteka i okvira:C++ ima ogroman raspon biblioteka i okvira dostupnih za razvoj GUI-ja. Programerima daje mnogo mogućnosti kada je u pitanju izrada njihovih aplikacija.

Knjižnice i okviri za C++ GUI razvoj

Postoji toliko mnogo biblioteka i okvira dostupnih za C++ GUI razvoj. Pogledajmo neke od najpopularnijih opcija.

1. Qt

Qt je najpopularniji GUI alat otvorenog koda. Široko se koristi za razvoj višeplatformskih GUI aplikacija. Pruža sveobuhvatan skup alata i biblioteka za izgradnju modernih GUI aplikacija, uključujući podršku za unos temeljen na dodiru i gestama, naprednu grafiku i multimediju.

mail order traversal

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

Izlaz:

C++ GUI

Obrazloženje

Ovaj C++ program koristi funkciju sprintf za formatiranje niza i funkciju printf za ispis formatiranog niza na konzoli. On deklarira neke varijable, dodjeljuje im vrijednosti, oblikuje niz i šalje ga na konzolu.

2. wxWidgeti

wxWidgets je još jedan popularan GUI alat za više platformi. Pruža skup alata i biblioteka za izgradnju modernih GUI aplikacija. Podržava širok raspon platformi, uključujući Windows, Linux i macOS.

mysql prikaži sve korisnike

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

Izlaz:

C++ GUI

Obrazloženje

chr funkcija python

Ovo je osnovni wxWidgets kod koji stvara prozor sa statusnom trakom i prikazuje tekst 'Hello World'. Klasa HelloWorldApp definirana je za implementaciju aplikacije. Funkcija OnInit() inicijalizira aplikaciju i stvara novi okvir s navedenim naslovom. Funkcija CreateStatusBar() stvara statusnu traku na dnu prozora, a SetStatusText() postavlja tekst koji će biti prikazan na statusnoj traci. Konačno, funkcija Show() prikazuje prozor, a SetTopWindow() postavlja okvir kao prozor najviše razine.

3. FLTK

Skraćenica je za Fast Light Toolkit. To je višeplatformski GUI alat. Pruža lagan i brz skup alata i biblioteka za izradu GUI aplikacija. To je popularan izbor za izradu aplikacija koje zahtijevaju malu površinu ili imaju stroge zahtjeve za performansama.

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

Izlaz:

C++ GUI

Obrazloženje

a-b rezidba

Ovaj kod koristi biblioteku fltk za stvaranje prozora s označenim widgetom okvira koji kaže 'Hello, World!'. Kutija ima podebljani kurzivni font, veličinu 36 i oznaku u sjeni. Prozor je veličine 300 x 180 piksela i prikazuje se na ekranu pomoću funkcije show(). Funkcija run() pokreće glavnu petlju događaja za rukovanje korisničkim unosom i drži prozor vidljivim dok ga korisnik ne zatvori.

4. SDL

To je kratica za Simple DirectMedia Layer. To je višeplatformska multimedijska biblioteka. Pruža skup alata i biblioteka za izradu igara i multimedijskih aplikacija. Uključuje audio, video, ulazne uređaje i podršku za umrežavanje, što ga čini svestranom opcijom za izgradnju GUI aplikacija bogatih multimedijom.

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

Izlaz:

C++ GUI

Obrazloženje

arraylist java sortiranje

Ovo je osnovni SDL program napisan u C jeziku. Inicijalizira SDL knjižnicu pomoću SDL_Init(), stvara prozor pomoću SDL_CreateWindow() i ulazi u beskonačnu petlju pomoću while(1). Petlja ne radi ništa i samo čeka da korisnik zatvori prozor ili izađe iz programa. Ako postoji bilo kakva pogreška pri pokretanju SDL-a, ispisuje se poruka o pogrešci pomoću funkcije printf(). Program vraća 0 na uspjeh.

Zaključak

C++ pruža snažan i učinkovit programski jezik za razvoj GUI aplikacija. Ima širok raspon biblioteka i okvira. Programeri imaju mnogo opcija kada je u pitanju izrada njihovih aplikacija. Bilo da programer odabere Qt, wxWidgets, FLTK ili SDL, može stvoriti bogate i moderne GUI aplikacije koje se izvode na različitim platformama.