Графический интерфейс пользователя

Графический интерфейс пользователя

Я занимаюсь разработкой на C++. Я слышал, что GTK заменяется на Wayland.

Какие библиотеки графического интерфейса подходят для C++ в долгосрочной перспективе?

решение1

Wayland — это заменаХ11. GTK+ по-прежнему является набором графических инструментов, используемым в GNOME и некоторых других средах рабочего стола, и планов по его замене нет.

Две большие библиотеки графического интерфейса для Linux:QtиГТК+Оба могут использоваться с C++ и, скорее всего, сохранятся в обозримом будущем.

Какой из них лучше для вас, зависит от того, какая среда рабочего стола является вашей основной целью. Обе библиотеки можно использовать с любой средой рабочего стола, но ваше приложение будет выглядеть и ощущаться по-другому, если оно использует «неправильный» набор инструментов GUI для вашей среды рабочего стола.

Если вы хотите, чтобы ваше приложение использовалось не только в Linux, но и на других системах, Qt обычно является лучшим выбором.

решение2

Поляна

Хотя вы можете использовать код C++ для создания и размещения виджетов, это может вскоре стать утомительным и повторяющимся. И это требует перекомпиляции для отображения изменений. Приложение Glade позволяет вам размещать виджеты на экране, а затем сохранять XML-описание размещения.

Это имеет следующие преимущества:

  • Требуется меньше кода C++.
  • Изменения пользовательского интерфейса видны быстрее, поэтому интерфейсы могут совершенствоваться.
  • Дизайнеры без навыков программирования могут создавать и редактировать пользовательские интерфейсы.

Пользовательские интерфейсы, разработанные в Glade, хранятся в известном формате XML, что позволяет легко интегрировать их с внешними инструментами. Вероятно, вы захотите использовать его с такими инструментами, как libglade, которые могут загружать файлы XML и создавать интерфейсы во время выполнения.

Чтобы установить Glade GTK+ User Interface Builder во всех поддерживаемых в настоящее время версиях Ubuntu, откройте терминал и введите:

sudo apt install glade  

Чтобы установить только файлы разработки для библиотеки GTK+ без установки Glade, введите:

sudo apt install libgtk-3-dev

Создатель Qt

Qt Creator — это кроссплатформенная интегрированная среда разработки (IDE), призванная ускорить и упростить разработку с использованием фреймворка приложений Qt.

Оно включает:

  • Расширенный редактор кода C++
  • Интегрированный конструктор макетов и форм графического интерфейса
  • Инструменты управления проектами и сборкой
  • Интегрированная контекстно-зависимая справочная система
  • Визуальный отладчик
  • Инструменты быстрой навигации по коду
  • Поддерживает несколько платформ
  • Qt Быстрый конструктор

Чтобы установить QT Creator во всех поддерживаемых в настоящее время версиях Ubuntu, откройте терминал и введите:

sudo apt install qtcreator 
$apt-cache зависит от qtcreator | grep qt  
qtcreator  
  Зависит от: libqt5sql5-sqlite  
  Зависит от: qml-module-qtqml-models2  
  Зависит от: qml-module-qtquick-controls  
  Зависит от: qml-module-qtquick2  
  Зависит от: qtchooser  
    qtchooser:i386  
  Зависит от: qtcreator-data  
  Зависит от: libqbsqtprofilesetup1.10  
  Зависит от: libqt5concurrent5  
  Зависит от: libqt5core5a   
  Зависит от: libqt5designer5  
  Зависит от: libqt5designercomponents5  
  Зависит от: libqt5gui5  
  Зависит от: libqt5help5  
  Зависит от: libqt5network5  
  Зависит от: libqt5printsupport5  
  Зависит от: libqt5qml5  
  Зависит от: libqt5quick5  
  Зависит от: libqt5quickwidgets5  
  Зависит от: libqt5sql5  
  Зависит от: libqt5widgets5  
  Зависит от: libqt5xml5  
  Зависит от: <qtdeclarative-abi-5-9-5>  
    libqt5qml5  
  Рекомендует: qt5-doc  
  Рекомендует: qt5-qmltooling-plugins  
  Рекомендует: qtbase5-dev-tools  
    qtbase5-dev-инструменты:i386  
  Рекомендует: qtcreator-doc  
  Рекомендует: qtdeclarative5-dev-tools  
    qtdeclarative5-dev-инструменты:i386  
  Рекомендует: qttools5-dev-tools  
    qttools5-dev-инструменты:i386  
  Рекомендует: qttranslations5-l10n  
  Рекомендует: qtxmlpatterns5-dev-tools  
    qtxmlpatterns5-dev-инструменты:i386  
    qтерминал

введите описание изображения здесь
(Нажмите на изображение, чтобы увеличить)

Связанный контент