GUI oznacza graficzny interfejs użytkownika. Są one istotną częścią nowoczesnego rozwoju oprogramowania. Graficzne interfejsy użytkownika umożliwiają programistom tworzenie aplikacji, z którymi użytkownicy mogą łatwo wchodzić w interakcję. C++ to potężny język programowania, który jest szeroko stosowany w tworzeniu złożonych systemów oprogramowania. W tym artykule przyjrzymy się, jak zbudować GUI w C++ przy użyciu różnych bibliotek i frameworków.
pobierz film z youtube vlc
Co to jest graficzny interfejs użytkownika?
Graficzny interfejs użytkownika (GUI) umożliwia użytkownikom interakcję z komputerem za pomocą elementów wizualnych, takich jak przyciski, menu i okna dialogowe. Interfejsy GUI zapewniają łatwy w obsłudze i intuicyjny interfejs, który umożliwia użytkownikom szybkie i wydajne wykonywanie zadań. Są szeroko stosowane w aplikacjach, takich jak przeglądarki internetowe, odtwarzacze multimedialne i pakiety biurowe.
Dlaczego C++ do tworzenia GUI?
C++ to potężny język programowania. Za pomocą C++ możemy tworzyć złożone systemy oprogramowania, w tym GUI. Oto niektóre z powodów, dla których C++ jest popularnym wyborem do tworzenia GUI:
Biblioteki i frameworki do tworzenia GUI w C++
Dostępnych jest wiele bibliotek i frameworków do tworzenia GUI w języku C++. Rzućmy okiem na niektóre z najpopularniejszych opcji.
1. Qt
Qt to najpopularniejszy zestaw narzędzi GUI typu open source. Jest szeroko stosowany do tworzenia wieloplatformowych aplikacji GUI. Zapewnia kompleksowy zestaw narzędzi i bibliotek do tworzenia nowoczesnych aplikacji GUI, w tym obsługę wprowadzania danych dotykiem i gestami, zaawansowaną grafikę i multimedia.
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(); }
Wyjście:
Wyjaśnienie
Ten program w języku C++ używa funkcji sprintf do formatowania ciągu znaków i funkcji printf do drukowania sformatowanego ciągu na konsoli. Deklaruje niektóre zmienne, przypisuje im wartości, formatuje ciąg znaków i wysyła go do konsoli.
2. wxWidgets
wxWidgets to kolejny popularny wieloplatformowy zestaw narzędzi GUI. Dostarcza zestaw narzędzi i bibliotek do tworzenia nowoczesnych aplikacji GUI. Obsługuje szeroką gamę platform, w tym Windows, Linux i macOS.
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; }
Wyjście:
Wyjaśnienie
To jest podstawowy kod wxWidgets, który tworzy okno z paskiem stanu i wyświetla tekst „Hello World”. Klasa HelloWorldApp jest zdefiniowana w celu implementacji aplikacji. Funkcja OnInit() inicjuje aplikację i tworzy nową ramkę o podanym tytule. Funkcja CreateStatusBar() tworzy pasek stanu na dole okna, a SetStatusText() ustawia tekst wyświetlany na pasku stanu. Na koniec funkcja Show() pokazuje okno, a SetTopWindow() ustawia ramkę jako okno najwyższego poziomu.
3. FLTK
Oznacza zestaw narzędzi Fast Light. Jest to wieloplatformowy zestaw narzędzi GUI. Zapewnia lekki i szybki zestaw narzędzi i bibliotek do tworzenia aplikacji GUI. Jest to popularny wybór do tworzenia aplikacji, które wymagają niewielkiej powierzchni lub mają rygorystyczne wymagania dotyczące wydajności.
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(); }
Wyjście:
Wyjaśnienie
Ten kod wykorzystuje bibliotekę fltk do utworzenia okna z widżetem oznaczonym etykietą z napisem „Hello, World!”. Pudełko ma pogrubioną kursywę, rozmiar 36 i etykietę w kształcie cienia. Okno ma rozmiar 300 x 180 pikseli i jest pokazywane na ekranie za pomocą funkcji show(). Funkcja run() uruchamia główną pętlę zdarzeń w celu obsługi danych wprowadzanych przez użytkownika i utrzymuje okno widoczne do momentu jego zamknięcia przez użytkownika.
4. SDL
Oznacza prostą warstwę DirectMedia. Jest to wieloplatformowa biblioteka multimedialna. Dostarcza zestaw narzędzi i bibliotek do tworzenia gier i aplikacji multimedialnych. Obejmuje audio, wideo, urządzenia wejściowe i obsługę sieci, co czyni go wszechstronną opcją do tworzenia bogatych w multimedia aplikacji GUI.
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; }
Wyjście:
Wyjaśnienie
Jest to podstawowy program SDL napisany w języku C. Inicjuje bibliotekę SDL za pomocą SDL_Init(), tworzy okno za pomocą SDL_CreateWindow() i wchodzi w nieskończoną pętlę za pomocą while(1). Pętla nic nie robi i po prostu czeka, aż użytkownik zamknie okno lub wyjdzie z programu. Jeśli wystąpi błąd podczas inicjowania SDL, za pomocą funkcji printf() zostanie wydrukowany komunikat o błędzie. Program zwraca 0 w przypadku powodzenia.
Wniosek
C++ zapewnia potężny i wydajny język programowania do tworzenia aplikacji GUI. Posiada szeroką gamę bibliotek i frameworków. Programiści mają wiele opcji, jeśli chodzi o budowanie swoich aplikacji. Niezależnie od tego, czy programista wybierze Qt, wxWidgets, FLTK czy SDL, może stworzyć bogate i nowoczesne aplikacje GUI działające na różnych platformach.