logo

C++ GUI

GUI означава графичен потребителски интерфейс. Те са съществена част от съвременната разработка на софтуер. Графичните потребителски интерфейси позволяват на разработчиците да създават приложения, с които потребителите могат лесно да взаимодействат. C++ е мощен език за програмиране, който се използва широко в разработването на сложни софтуерни системи. В тази статия ще проучим как да създаваме GUI в C++, като използваме различни библиотеки и рамки.

Какво е GUI?

Графичният потребителски интерфейс или GUI позволява на потребителите да взаимодействат с компютър с помощта на визуални елементи като бутони, менюта и диалогови прозорци. GUI предоставят лесен за използване и интуитивен интерфейс, който позволява на потребителите да изпълняват задачи бързо и ефективно. Те се използват широко в приложения като уеб браузъри, медийни плейъри и офис пакети.

Защо C++ за разработка на GUI?

C++ е мощен език за програмиране. С помощта на C++ можем да разработваме сложни софтуерни системи, включително GUI. Някои от причините, поради които C++ е популярен избор за разработка на GUI, включват:

    Производителност:C++ е високопроизводителен език, който може да изпълнява код бързо и ефективно. Той е идеален за разработка на GUI.Поддръжка на различни платформи:C++ може да се компилира за множество операционни системи. Това е чудесен избор за изграждане на междуплатформени GUI приложения.Широка гама от библиотеки и рамки:C++ има огромен набор от библиотеки и рамки, достъпни за разработка на GUI. Той дава на разработчиците много възможности, когато става въпрос за изграждане на техните приложения.

Библиотеки и рамки за разработка на C++ GUI

Има толкова много библиотеки и рамки, налични за разработка на C++ GUI. Нека да разгледаме някои от най-популярните опции.

1. Qt

Qt е най-популярният GUI инструментариум с отворен код. Той се използва широко за разработване на междуплатформени GUI приложения. Той предоставя изчерпателен набор от инструменти и библиотеки за изграждане на модерни GUI приложения, включително поддръжка за въвеждане на базата на докосване и жестове, усъвършенствана графика и мултимедия.

Програма 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(); } 

Изход:

форматиране на java низове
C++ GUI

Обяснение

Тази C++ програма използва функцията sprintf за форматиране на низ и функцията printf за отпечатване на форматирания низ в конзолата. Той декларира някои променливи, присвоява им стойности, форматира низ и го извежда на конзолата.

2. wxWidgets

wxWidgets е друг популярен крос-платформен GUI инструментариум. Той предоставя набор от инструменти и библиотеки за изграждане на модерни GUI приложения. Той поддържа широк набор от платформи, включително Windows, Linux и macOS.

Програма 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; } 

Изход:

C++ GUI

Обяснение

Това е основен код на wxWidgets, който създава прозорец с лента на състоянието и показва текста „Hello World“. Класът HelloWorldApp е дефиниран за внедряване на приложението. Функцията OnInit() инициализира приложението и създава нов кадър с посоченото заглавие. Функцията CreateStatusBar() създава лента на състоянието в долната част на прозореца, а SetStatusText() задава текста, който да се показва в лентата на състоянието. И накрая, функцията Show() показва прозореца, а SetTopWindow() задава рамката като прозорец от най-високо ниво.

3. FLTK

Това означава Fast Light Toolkit. Това е крос-платформен GUI инструментариум. Той предоставя лек и бърз набор от инструменти и библиотеки за изграждане на GUI приложения. Това е популярен избор за изграждане на приложения, които изискват малък отпечатък или имат строги изисквания за производителност.

Програма 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(); } 

Изход:

C++ GUI

Обяснение

Този код използва библиотеката fltk, за да създаде прозорец с етикетирана джаджа, която казва „Здравей, свят!“. Кутията има удебелен курсив, размер 36 и етикет в сянка. Прозорецът е с размер 300 x 180 пиксела и се показва на екрана с помощта на функцията show(). Функцията run() стартира основния цикъл на събитията, за да обработва въведеното от потребителя и поддържа прозореца видим, докато потребителят не го затвори.

4. SDL

Това означава Simple DirectMedia Layer. Това е мултиплатформена мултимедийна библиотека. Той предоставя набор от инструменти и библиотеки за изграждане на игри и мултимедийни приложения. Той включва аудио, видео, входни устройства и мрежова поддръжка, което го прави универсална опция за изграждане на богати на мултимедия GUI приложения.

Програма 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; } 

Изход:

C++ GUI

Обяснение

Това е основна SDL програма, написана на език C. Той инициализира SDL библиотеката с помощта на SDL_Init(), създава прозорец с помощта на SDL_CreateWindow() и влиза в безкраен цикъл с помощта на while(1). Цикълът не прави нищо и просто чака потребителят да затвори прозореца или да излезе от програмата. Ако има грешка при инициализиране на SDL, се отпечатва съобщение за грешка с помощта на функцията printf(). Програмата връща 0 при успех.

Заключение

C++ предоставя мощен и ефективен език за програмиране за разработване на GUI приложения. Има широк набор от библиотеки и рамки. Разработчиците имат много възможности, когато става въпрос за изграждане на техните приложения. Независимо дали разработчикът избере Qt, wxWidgets, FLTK или SDL, той може да създаде богати и модерни GUI приложения, които работят на различни платформи.