Недавно анонсирован первый релиз новой ветки кроссплатформенный инструментарий стабильный wxвиджеты 3.2.0, который позволяет создавать графические интерфейсы для Linux, Windows, macOS, UNIX и мобильных платформ.
По сравнению с веткой 3.0 есть ряд несовместимостей на уровне API. В отличие от других наборов инструментов, wxWidgets предоставляет действительно нативное приложение для целевой системы с использованием системного API вместо имитации графического интерфейса.
wxWidgets лучше всего описать как собственный инструментарий потому что обеспечивает прекрасный уровень абстракции для собственных элементов управления платформы, в отличие от эмуляции элементов управления с использованием примитивной графики. Использование собственного элемента управления на существующих платформах позволяет нам достичь более естественных визуальных результатов для графического интерфейса, чем другие библиотеки, такие как Swing (для Java), а также предлагает лучшую производительность и другие преимущества.
wxWidgets не ограничивается только разработкой графических интерфейсов, это потому, что библиотека имеет уровень взаимодействия между процессами, функциональные возможности для сети, такие как сокеты, и многое другое.
Основные новые функции wxWidgets 3.2.0
В представленной новой версии подчеркивается, что реализован новый экспериментальный порт wxQt, что позволяет wxWidgets работать поверх фреймворка Qt, а порт wxGTK обеспечивает полную поддержку протокола Wayland.
В дополнение к этому также подчеркивается, что добавлена поддержка экранов с высокой плотностью пикселей (высокий DPI) и что добавлена возможность назначать разные DPI для разных мониторов и динамического изменения DPI, а также был предложен новый API wxBitmapBundle, который позволяет вам вместе манипулировать различными параметрами растрового изображения, представленными в разных разрешениях.
Еще одно важное изменение: предложена новая система сборки на базе CMake в котором в систему сборки была добавлена поддержка новых компиляторов (включая MSVS 2022, g++12 и clang 14) и операционных систем.
В переработана поддержка OpenGL, улучшено использование новых версий OpenGL (3.2+), плюс добавлена поддержка сжатия LZMA и архивов ZIP 64.
С другой стороны, он также подчеркивает улучшенную безопасность во время компиляции с возможностью отключения опасных неявных преобразований между строками типов wxString и «char*» и добавленной поддержкой событий для управления жестами, выполняемыми с помощью мыши.
В классах wxFont и wxGraphicsContext, добавлена возможность указывать нецелочисленные значения при определении размера шрифта и ширины стилуса. Класс wxStaticBox реализует возможность назначать окнам произвольные метки.
Из других измененийвыделяются:
- В API wxWebRequest добавлена поддержка HTTPS и HTTP/2.
- Добавлена поддержка замораживания столбцов и строк в классе wxGrid.
- Улучшена поддержка платформы macOS, в том числе возможность использования темной темы и дополнительная поддержка устройств на базе процессоров ARM.
- Внесены улучшения для поддержки стандарта C++11. Добавлена поддержка сборки компиляторами C++20.
- Все включенные сторонние библиотеки обновлены. Добавлена поддержка WebKit 2 и GStreamer 1.7.
В конце концов Если вам интересно узнать об этом больше, вы можете проверить детали перейдя по следующей ссылке.
Скачать wxWidgets
Те, кто заинтересован в возможности загрузки и установки этого набора инструментов, могут получить пакеты для целевой операционной системы (Windows, Mac или Linux) с официального сайта в разделе загрузки.
Те, кто использует Debian, Ubuntu или некоторые их производные, могут скомпилировать, набрав в терминале следующее.
sudo apt-get install libgtk-3-dev build-essential checkinstall
Они приступают к распаковке пакета, который они скачали с официального сайта, и заходят в полученную папку. Здесь они могут открыть терминал, расположенный в пути к папке, или расположиться внутри папки в терминале.
И приступаем к компиляции:
mkdir gtk-build
cd gtk-build/
../configure --disable-shared --enable-unicode
make