GUI înseamnă Interfață grafică utilizator. Acestea sunt o parte esențială a dezvoltării software moderne. Interfețele grafice cu utilizatorul permit dezvoltatorilor să creeze aplicații cu care utilizatorii pot interacționa cu ușurință. C++ este un limbaj de programare puternic care este utilizat pe scară largă în dezvoltarea sistemelor software complexe. În acest articol, vom explora cum să construim GUI-uri în C++ folosind diferite biblioteci și cadre.
Ce este un GUI?
O interfață grafică cu utilizatorul, sau GUI, permite utilizatorilor să interacționeze cu un computer folosind elemente vizuale precum butoane, meniuri și casete de dialog. GUI-urile oferă o interfață intuitivă și ușor de utilizat, care permite utilizatorilor să efectueze sarcini rapid și eficient. Sunt utilizate pe scară largă în aplicații precum browsere web, playere media și suite de birou.
De ce C++ pentru dezvoltarea GUI?
C++ este un limbaj de programare puternic. Cu ajutorul C++, putem dezvolta sisteme software complexe, inclusiv GUI-uri. Unele dintre motivele pentru care C++ este o alegere populară pentru dezvoltarea GUI includ:
Biblioteci și cadre pentru dezvoltarea GUI C++
Există atât de multe biblioteci și cadre disponibile pentru dezvoltarea GUI C++. Să aruncăm o privire la unele dintre cele mai populare opțiuni.
1. Qt
Qt este cel mai popular set de instrumente GUI open-source. Este utilizat pe scară largă pentru dezvoltarea de aplicații GUI multiplatformă. Oferă un set cuprinzător de instrumente și biblioteci pentru construirea de aplicații GUI moderne, inclusiv suport pentru introducerea prin atingere și gesturi, grafică avansată și multimedia.
Programul 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(); }
Ieșire:
Explicaţie
Acest program C++ folosește funcția sprintf pentru a formata un șir și funcția printf pentru a imprima șirul formatat pe consolă. Acesta declară unele variabile, le atribuie valori, formatează un șir și îl trimite în consolă.
2. wxWidgets
wxWidgets este un alt set de instrumente GUI multiplatformă popular. Oferă un set de instrumente și biblioteci pentru construirea de aplicații GUI moderne. Acceptă o gamă largă de platforme, inclusiv Windows, Linux și macOS.
Programul 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; }
Ieșire:
Explicaţie
Acesta este un cod wxWidgets de bază care creează o fereastră cu o bară de stare și afișează textul „Hello World”. Clasa HelloWorldApp este definită pentru a implementa aplicația. Funcția OnInit() inițializează aplicația și creează un nou cadru cu titlul specificat. Funcția CreateStatusBar() creează o bară de stare în partea de jos a ferestrei, iar SetStatusText() setează textul să fie afișat în bara de stare. În cele din urmă, funcția Show() arată fereastra, iar SetTopWindow() setează cadrul ca fereastra de nivel superior.
3. FLTK
Aceasta înseamnă Fast Light Toolkit. Este un set de instrumente GUI multiplatformă. Oferă un set ușor și rapid de instrumente și biblioteci pentru construirea de aplicații GUI. Este o alegere populară pentru aplicații de construcție care necesită o amprentă mică sau au cerințe stricte de performanță.
Programul 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(); }
Ieșire:
Explicaţie
Acest cod folosește biblioteca fltk pentru a crea o fereastră cu un widget casetă etichetat care spune „Hello, World!”. Cutia are un font aldine italic, o dimensiune de 36 și o etichetă umbră. Fereastra are o dimensiune de 300 x 180 pixeli și este afișată pe ecran folosind funcția show(). Funcția run() pornește bucla principală a evenimentului pentru a gestiona intrarea utilizatorului și menține fereastra vizibilă până când utilizatorul o închide.
4. SDL
Aceasta înseamnă Stratul Simple DirectMedia. Este o bibliotecă multimedia multi-platformă. Oferă un set de instrumente și biblioteci pentru construirea de jocuri și aplicații multimedia. Include audio, video, dispozitive de intrare și suport pentru rețea, ceea ce îl face o opțiune versatilă pentru construirea de aplicații GUI bogate în multimedia.
Programul 4:
a b c numere
#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; }
Ieșire:
Explicaţie
Acesta este un program SDL de bază scris în limbaj C. Inițializează biblioteca SDL folosind SDL_Init(), creează o fereastră folosind SDL_CreateWindow() și intră într-o buclă infinită folosind while(1). Bucla nu face nimic și așteaptă doar ca utilizatorul să închidă fereastra sau să iasă din program. Dacă există vreo eroare la inițializarea SDL, este tipărit un mesaj de eroare folosind funcția printf(). Programul returnează 0 la succes.
Concluzie
C++ oferă un limbaj de programare puternic și eficient pentru dezvoltarea aplicațiilor GUI. Are o gamă largă de biblioteci și cadre. Dezvoltatorii au o mulțime de opțiuni atunci când vine vorba de a-și construi aplicațiile. Indiferent dacă dezvoltatorul alege Qt, wxWidgets, FLTK sau SDL, ei pot crea aplicații GUI bogate și moderne care rulează pe diverse platforme.