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:
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:
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:
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:
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:
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.