logo

Interfejs graficzny C++

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:

    Wydajność:C++ to język o wysokiej wydajności, który umożliwia szybkie i wydajne wykonywanie kodu. Jest idealny do programowania GUI.Obsługa wielu platform:C++ można skompilować dla wielu systemów operacyjnych. Jest to doskonały wybór do tworzenia wieloplatformowych aplikacji GUI.Szeroka gama bibliotek i frameworków:C++ ma ogromną gamę bibliotek i frameworków dostępnych do tworzenia GUI. Daje programistom wiele opcji, jeśli chodzi o tworzenie aplikacji.

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:

Interfejs graficzny C++

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:

Interfejs graficzny C++

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:

Interfejs graficzny C++

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:

Interfejs graficzny C++

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.