logo

Графічний інтерфейс C++

GUI означає графічний інтерфейс користувача. Це невід’ємна частина сучасної розробки програмного забезпечення. Графічні інтерфейси користувача дозволяють розробникам створювати програми, з якими користувачі можуть легко взаємодіяти. C++ — потужна мова програмування, яка широко використовується при розробці складних програмних систем. У цій статті ми розглянемо, як створити GUI на C++ за допомогою різних бібліотек і фреймворків.

Що таке GUI?

Графічний інтерфейс користувача, або GUI, дозволяє користувачам взаємодіяти з комп’ютером за допомогою візуальних елементів, таких як кнопки, меню та діалогові вікна. Графічні інтерфейси забезпечують простий у використанні та інтуїтивно зрозумілий інтерфейс, який дозволяє користувачам швидко та ефективно виконувати завдання. Вони широко використовуються в таких програмах, як веб-браузери, медіаплеєри та офісні пакети.

Чому C++ для розробки GUI?

C++ є потужною мовою програмування. За допомогою C++ ми можемо розробляти складні програмні системи, включаючи графічний інтерфейс користувача. Деякі з причин, чому C++ є популярним вибором для розробки GUI, включають:

    Продуктивність:C++ — це високопродуктивна мова, яка може швидко й ефективно виконувати код. Він ідеально підходить для розробки GUI.Кросплатформна підтримка:C++ можна скомпільувати для кількох операційних систем. Це чудовий вибір для створення кросплатформних додатків графічного інтерфейсу.Широкий вибір бібліотек і фреймворків:C++ має величезний вибір бібліотек і фреймворків, доступних для розробки GUI. Це дає розробникам багато варіантів, коли справа доходить до створення їхніх програм.

Бібліотеки та фреймворки для розробки GUI C++

Існує так багато бібліотек і фреймворків, доступних для розробки GUI C++. Давайте розглянемо кілька найпопулярніших варіантів.

1. Qt

Qt є найпопулярнішим інструментарієм графічного інтерфейсу з відкритим кодом. Він широко використовується для розробки кросплатформних додатків графічного інтерфейсу користувача. Він надає повний набір інструментів і бібліотек для створення сучасних додатків з графічним інтерфейсом користувача, включаючи підтримку введення на основі дотику та жестів, розширену графіку та мультимедіа.

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

Вихід:

довжина рядка bash
Графічний інтерфейс C++

Пояснення

Ця програма C++ використовує функцію sprintf для форматування рядка та функцію printf для виведення відформатованого рядка на консоль. Він оголошує деякі змінні, присвоює їм значення, форматує рядок і виводить його на консоль.

2. wxWidgets

wxWidgets — це ще один популярний крос-платформний інструментарій 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++

Пояснення

Це базовий код wxWidgets, який створює вікно з рядком стану та відображає текст «Hello World». Для реалізації програми визначено клас HelloWorldApp. Функція OnInit() ініціалізує програму та створює новий фрейм із зазначеним заголовком. Функція CreateStatusBar() створює рядок стану внизу вікна, а SetStatusText() встановлює текст, який буде відображатися в рядку стану. Нарешті, функція Show() показує вікно, а SetTopWindow() встановлює рамку як вікно верхнього рівня.

3. FLTK

Це розшифровується як Fast Light Toolkit. Це крос-платформний інструментарій GUI. Він надає легкий і швидкий набір інструментів і бібліотек для створення програм графічного інтерфейсу користувача. Це популярний вибір для створення програм, які вимагають невеликих розмірів або мають суворі вимоги до продуктивності.

Програма 3:

hashset проти hashmap
 #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++

Пояснення

Цей код використовує бібліотеку fltk для створення вікна з позначеним віконним віджетом із написом «Hello, World!». Коробка має жирний курсив, розмір 36 і тіньовий ярлик. Вікно має розмір 300 x 180 пікселів і відображається на екрані за допомогою функції show(). Функція run() запускає основний цикл подій для обробки введених даних користувача та зберігає вікно видимим, доки користувач його не закриє.

4. SDL

Це розшифровується як Simple DirectMedia Layer. Це кросплатформна мультимедійна бібліотека. Він надає набір інструментів і бібліотек для створення ігор і мультимедійних програм. Він включає аудіо, відео, пристрої введення та мережеву підтримку, що робить його універсальним варіантом для створення мультимедійних програм графічного інтерфейсу.

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

Пояснення

Це базова програма SDL, написана мовою C. Він ініціалізує бібліотеку SDL за допомогою SDL_Init(), створює вікно за допомогою SDL_CreateWindow() і входить у нескінченний цикл за допомогою while(1). Цикл нічого не робить і просто чекає, поки користувач закриє вікно або вийде з програми. Якщо під час ініціалізації SDL виникає будь-яка помилка, за допомогою функції printf() друкується повідомлення про помилку. У разі успіху програма повертає 0.

Висновок

C++ надає потужну та ефективну мову програмування для розробки програм графічного інтерфейсу користувача. Він має широкий спектр бібліотек і фреймворків. Розробники мають багато варіантів, коли справа доходить до створення своїх програм. Незалежно від того, чи вибере розробник Qt, wxWidgets, FLTK або SDL, він може створювати багаті та сучасні програми з графічним інтерфейсом користувача, які працюють на різних платформах.