Представлен gtkplatform, плагин для отрисовки Qt-приложений с использованием GTK+

24 сентября 2017 года

В рамках проекта gtkplatform развивается новый механизм для бесшовного отображения Qt-приложений в окружениях на базе GTK+. В отличие от решений, основанных на стилизации элементов оформления или замены движка тем оформления, в gtkplatform предлагается иной подход - к Qt подключается плагин с реализацией платформы отрисовки на базе GTK+. Иными словами оконные операции Qt-приложений транслируются в API GTK+, который используется как первичный тулкит. Код написан на языке С++ и по аналоги с Qt распространяется под лицензиями LGPLv3 и GPLv2+.

Реализованный в gtkplatform подход позволяет задействовать в Qt-приложениях родные диалоги, обработчики ввода и меню GTK+, что сводит к минимуму видимые отличия при интеграции Qt-приложений в пользовательские окружения на базе GTK+. В том числе Qt-приложения могут бесшовно вписываться в окружение GNOME, работающее поверх Wayland.

На текущем этапе развития поддерживается отрисовка через GTK+ оконных компонентов, формируемых при помощи QPainter, QOpenGLContext, QOpenGLWidget и QtWebEngine, возможно использование буфера обмена, используются нативные меню и диалоги GTK+, обрабатываются события ввода от сенсорных экранов, клавиатур и мышей. Из планов отмечается подготовка вспомогательных обработчиков для задействования специфичных возможностей GTK+, таких как вынос панели инструментов в заголовок окна (GtkHeaderBar).

Подключение плагина gtkplatform производится через запуск приложения с установкой переменной окружения "QT_QPA_PLATFORM=gtk" или через указание опции "-platform gtk". Для пользователей Arch Linux плагин уже размещён в репозитории AUR. Из похожих проектов можно отметить плагины gtk-qt-engine, qgtkstyle, QGnomePlatform и

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Представлен gtkplatform, плагин для отрисовки Qt-приложений с использованием GTK+», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.