GUI significa Interfície gràfica d'usuari. Aquests són una part essencial del desenvolupament de programari modern. Les interfícies gràfiques d'usuari permeten als desenvolupadors crear aplicacions amb les quals els usuaris puguin interactuar fàcilment. C++ és un llenguatge de programació potent que s'utilitza àmpliament en el desenvolupament de sistemes de programari complexos. En aquest article, explorarem com crear GUI en C++ utilitzant diverses biblioteques i marcs.
Què és una GUI?
Una interfície gràfica d'usuari, o GUI, permet als usuaris interactuar amb un ordinador mitjançant elements visuals com ara botons, menús i quadres de diàleg. Les GUI proporcionen una interfície fàcil d'utilitzar i intuïtiva que permet als usuaris realitzar tasques de manera ràpida i eficient. S'utilitzen àmpliament en aplicacions com ara navegadors web, reproductors multimèdia i suites ofimàtiques.
Per què C++ per al desenvolupament de GUI?
C++ és un llenguatge de programació potent. Amb l'ajuda de C++, podem desenvolupar sistemes de programari complexos, incloses les GUI. Alguns dels motius pels quals C++ és una opció popular per al desenvolupament de GUI inclouen:
Biblioteques i marcs per al desenvolupament de GUI de C++
Hi ha tantes biblioteques i marcs disponibles per al desenvolupament de GUI de C++. Fem una ullada a algunes de les opcions més populars.
1. Qt
Qt és el conjunt d'eines GUI de codi obert més popular. S'utilitza àmpliament per desenvolupar aplicacions GUI multiplataforma. Proporciona un conjunt complet d'eines i biblioteques per crear aplicacions GUI modernes, inclòs suport per a l'entrada basada en gestos i tàctils, gràfics avançats i multimèdia.
window.open javascript
Programa 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(); }
Sortida:
Explicació
Aquest programa C++ utilitza la funció sprintf per formatar una cadena i la funció printf per imprimir la cadena formatada a la consola. Declara algunes variables, els assigna valors, forma una cadena i l'envia a la consola.
2. wxWidgets
wxWidgets és un altre conjunt d'eines GUI multiplataforma popular. Proporciona un conjunt d'eines i biblioteques per crear aplicacions GUI modernes. Admet una àmplia gamma de plataformes, com Windows, Linux i macOS.
imatge com a fons en css
Programa 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; }
Sortida:
Explicació
convertir cadena a data
Aquest és un codi bàsic de wxWidgets que crea una finestra amb una barra d'estat i mostra el text 'Hello World'. La classe HelloWorldApp es defineix per implementar l'aplicació. La funció OnInit() inicialitza l'aplicació i crea un marc nou amb el títol especificat. La funció CreateStatusBar() crea una barra d'estat a la part inferior de la finestra i SetStatusText() estableix el text que es mostrarà a la barra d'estat. Finalment, la funció Show() mostra la finestra i SetTopWindow() estableix el marc com a finestra de nivell superior.
3. FLTK
Són les sigles de Fast Light Toolkit. És un conjunt d'eines GUI multiplataforma. Proporciona un conjunt lleuger i ràpid d'eines i biblioteques per crear aplicacions GUI. És una opció popular per a aplicacions de construcció que requereixen una petita empremta o tenen requisits de rendiment estrictes.
Programa 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(); }
Sortida:
Explicació
La cadena de Java està buida
Aquest codi utilitza la biblioteca fltk per crear una finestra amb un widget de caixa etiquetat que diu 'Hola, món!'. El quadre té una lletra cursiva en negreta, una mida de 36 i una etiqueta d'ombra. La finestra té una mida de 300 x 180 píxels i es mostra a la pantalla mitjançant la funció show(). La funció run() inicia el bucle d'esdeveniments principal per gestionar l'entrada de l'usuari i manté la finestra visible fins que l'usuari la tanca.
4. SDL
Significa Simple DirectMedia Layer. És una biblioteca multiplataforma multimèdia. Proporciona un conjunt d'eines i biblioteques per crear jocs i aplicacions multimèdia. Inclou àudio, vídeo, dispositius d'entrada i suport per a xarxes, el que la converteix en una opció versàtil per crear aplicacions GUI riques en multimèdia.
Programa 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; }
Sortida:
Explicació
mètode de subcadenes de Java
Aquest és un programa SDL bàsic escrit en llenguatge C. Inicialitza la biblioteca SDL amb SDL_Init(), crea una finestra amb SDL_CreateWindow() i entra en un bucle infinit amb while(1). El bucle no està fent res i només espera que l'usuari tanqui la finestra o surti del programa. Si hi ha algun error en inicialitzar SDL, s'imprimeix un missatge d'error mitjançant la funció printf(). El programa retorna 0 en cas d'èxit.
Conclusió
C++ proporciona un llenguatge de programació potent i eficient per desenvolupar aplicacions GUI. Té una àmplia gamma de biblioteques i marcs. Els desenvolupadors tenen moltes opcions a l'hora de crear les seves aplicacions. Tant si el desenvolupador tria Qt, wxWidgets, FLTK o SDL, poden crear aplicacions GUI riques i modernes que s'executen en diverses plataformes.