logo

Wprowadzenie do programowania GUI w C++

W języku C++ programowanie z graficznym interfejsem użytkownika (GUI) jest ważne przy tworzeniu nowoczesnych aplikacji, w których użytkownicy mają ładną grafikę do pracy. Chociaż C++ jest powszechnie kojarzony z programowaniem systemowym i pisaniem gier, może być doskonałą alternatywą dla pisania GUI. W tym artykule omówimy programowanie GUI w C++, niektóre popularne biblioteki GUI dla C++ i jak stworzyć podstawową aplikację GUI w C++.

Warunki wstępne: Podstawy C++, C++ OOP, niektóre biblioteki GUI.



Co to jest GUI (graficzny interfejs użytkownika)?

Graficzny interfejs użytkownika (GUI) to wizualny interfejs aplikacji udostępniany za pomocą elementów graficznych, takich jak okna, pola tekstowe i przyciski, za pomocą których użytkownicy mogą komunikować się z oprogramowaniem. GUI oferuje interaktywną i łatwą w użyciu platformę w porównaniu z interfejsem wiersza poleceń (CLI), ponieważ użytkownicy mogą korzystać z myszy lub innych urządzeń wejściowych, takich jak ekran dotykowy itp., bez polegania wyłącznie na klawiaturze.

Główne koncepcje programowania GUI

Graficzny interfejs użytkownika (GUI) obejmuje projektowanie okien, okien dialogowych, przycisków itp., które są interaktywnymi komponentami interfejsu użytkownika. Następnie kontrolujemy te widżety za pomocą procedur obsługi zdarzeń, takich jak onClick, onHover itp.

lista tablic Java

Główne koncepcje programowania GUI to:



Widżety

Graficzny interfejs użytkownika (GUI) składa się z widżetów. Są to na przykład przyciski, pola tekstowe, etykiety itp. Właściwości i zachowanie każdego widgetu można dostosować do specyficznych potrzeb aplikacji. W bibliotece GUI znajdują się zazwyczaj następujące widżety:

  1. Okno: Rama okna najwyższego poziomu, w której znajdują się inne widżety.
  2. Przycisk: Klikalny przycisk, z którym kliknięciem jest powiązane jakieś zdarzenie.
  3. Etykieta: Prosty tekst tylko do odczytu
  4. Pole wyboru : Pole zawierające opcje włączania i wyłączania.
  5. Przycisk radiowy: Pole umożliwiające włączenie lub wyłączenie opcji, ale w grupie możemy wybrać tylko jeden przycisk opcji.
  6. Lista rozwijana/pole kombi : otwiera menu rozwijane po kliknięciu. W nieotwartym formularzu może zostać wyświetlony tylko jeden element.
  7. Pole tekstowe: Edytowalny obszar tekstowy.
  8. Skrzynka na listy: Pole z wieloma elementami i paskiem przewijania umożliwiającym przeglądanie ich wszystkich.
  9. Suwak: Widget nawigacyjny służący do poruszania się po aplikacji.
  10. Menu: Pokazane u góry menu zapewnia użytkownikowi aplikacji różne opcje.
  11. Okno dialogowe: Pole wyświetlane w górnej części okna. Czasami, aby wyświetlić powiadomienie.
  12. Siatka: Używany do zarządzania układem interfejsu użytkownika.

Zarządzanie układem

Aplikacje GUI muszą być zoptymalizowane dla różnych ekranów o różnych rozmiarach, rozdzielczościach itp., co ma na celu utrzymanie atrakcyjnego, ale skutecznego interfejsu użytkownika z różnymi widżetami zorganizowanymi na ekranie.

Obsługa zdarzeń

W programowaniu GUI zdarzenia takie jak kliknięcia przycisków lub naciśnięcia klawiszy są krytyczne. Zdarzenia te są obsługiwane przez aplikację, aby mogła śledzić działania użytkownika. Z różnymi widżetami powiązane są różne zdarzenia. Na przykład w przypadku klikalnego przycisku powiązane zdarzenia to:



  1. Kliknij Wydarzenie
  2. Zdarzenie ruchu myszy
  3. Skupić się na wydarzeniu
  4. Wydarzenie skupiające uwagę

Popularne biblioteki GUI dla C++

C++ ma wiele niezależnych od platformy bibliotek GUI, których można używać do tworzenia aplikacji GUI. Niektóre z popularnych to:

  1. gtkmm
  2. Qt
  3. wxWidgets
  4. Drogi ImuGui

Przykład aplikacji GUI w języku C++

W poniższych programach będziemy używać następujących narzędzi:

  1. Biblioteka Qt : Biblioteka GUI dla naszego programu.
  2. Projektant Qt: Interaktywny projektant szablonów GUI dla Qt.
  3. Twórca Qt: IDE dla aplikacji Qt GUI

Teraz przyjrzymy się prawdziwym przypadkom programowania GUI w C++ i Qt. Zamierzamy opracować podstawową aplikację Hello World za pomocą przycisku, a po kliknięciu przycisku pojawi się okno dialogowe z napisanym tekstem Hello World. Zrealizujemy to, wykonując następujące kroki:

Krok 1: Tworzenie projektu Qt

Otworzymy Qt Creator i utworzymy nowy projekt typu Qt Widget Application. Wpisz nazwę, wybierz lokalizację i gotowe. Kreator Qt utworzy projekt ze wszystkimi wymaganymi plikami.

tworzenie projektu

Krok 2: Projektowanie okna

Następnie otworzymy plik mainWindow.ui . Ten plik zawiera interfejs użytkownika aplikacji. Dodamy jedną etykietę tekstową, korzystając z właśnie otwartego projektanta.

Teraz nasze pliki będą zawierać następujący kod:

mainWindow.h

C++




#ifndef MAINWINDOW_H> #define MAINWINDOW_H> > #include> > QT_BEGIN_NAMESPACE> namespace> Ui {>class> MainWindow; }> QT_END_NAMESPACE> > class> MainWindow :>public> QMainWindow> {> >Q_OBJECT> > public>:> >MainWindow(QWidget *parent = nullptr);> >~MainWindow();> > private>:> >Ui::MainWindow *ui;> };> #endif // MAINWINDOW_H>

>

>

ciąg jsonobiekt

main.cpp

C++




#include 'mainwindow.h'> > #include> > int> main(>int> argc,>char> *argv[])> {> >QApplication a(argc, argv);> >MainWindow w;> >w.show();> >return> a.exec();> }>

>

>

mainWindow.cpp

C++


topologie



#include 'mainwindow.h'> #include './ui_mainwindow.h'> > MainWindow::MainWindow(QWidget *parent)> >: QMainWindow(parent)> >, ui(>new> Ui::MainWindow)> {> >ui->setupUi(>this>);> }> > MainWindow::~MainWindow()> {> >delete> ui;> }>

>

>

wybierz wielostołowy sql

mainWindow.ui

XML-a




xml version='1.0' encoding='UTF-8'?> Klasa głównego okna> 0x>0y>800szerokość>600wysokość> prostokąt> właściwość> MainWindowsstring> właściwość> 260x>140 lat>81szerokość>71wysokość> prostokąt> właściwość> Witaj Worldstring> właściwość> widget> widget> 0x>0y>800szerokość>22wysokość> prostokąt> właściwość> widżet>widżet> interfejs użytkownika>>

>

>

Zwróć uwagę, że plik mainWindow.ui jest napisany w formacie XML. Dzieje się tak dlatego, że Qt zapisuje swoje pliki interfejsu użytkownika w formacie XML.

Krok 4: Zbuduj i uruchom

Projekt Qt możemy zbudować i uruchomić w kreatorze Qt za pomocą jednego kliknięcia.

Wyjście

Witaj świecie

Zalety aplikacji GUI

Aplikacje GUI oferują kilka korzyści, przyczyniając się do lepszego doświadczenia użytkownika i usprawnienia programowania:

  • Przyjazny dla użytkownika interfejs: Korzystanie z graficznych interfejsów użytkownika (GUI) zapewnia proste i łatwe w obsłudze podejście do aplikacji w porównaniu z innymi podejściami, które zajmowałyby więcej czasu.
  • Ulepszona interaktywność: Obejmuje interaktywne funkcje, takie jak przyciski, menu rozwijane, pole wyboru i suwak, które dają użytkownikom kontrolę nad swoimi doświadczeniami.
  • Kompatybilność między platformami: Języki takie jak Qt umożliwiają tworzenie aplikacji GUI dla Windows, macOS, Linux z C++.
  • Szybkie prototypowanie: Obecność wielu kreatorów GUI i narzędzi do projektowania w frameworkach GUI sprzyja szybkiemu prototypowaniu interfejsów, dzięki czemu cały proces programowania jest szybszy.