KDDockWidgets, расширенная среда реализации для QDockWidget

KDQDockWidget

Группа KDAB - это консалтинг по программному обеспечению для приложений Qt, C ++ и OpenGL. для разных платформ (настольных, встроенных и мобильных), в дополнение к этому предоставляет обучение по разработке приложений Qt с нуля и в переносе всех популярных фреймов в Qt.

На протяжении многих лет, KDAB внесла свой вклад и профинансировала разработку QDockWidget. Но поскольку для внедрения изменений и исправлений ошибок потребовалось много дней, с помощью QdockWidget, Оказалось, что это не лучший вариант, что привело к появлению KDDockWidgets.

KDDockWidgets - это расширенная структура стыковки для QDockWidgets, с помощью которого он расширяет его использование, добавляя функции, которые QDockWidgets не поддерживает.

QdockWidget изначально сочетает код графического интерфейса с логикой с состоянием, как делает очень трудным продвижение новых функций, что вызывает большую сложность в его реализации на разных платформах. Поскольку это базовый компонент серии графических пользовательских интерфейсов, с его помощью вы можете перемещать целые элементы окна (панели инструментов, группы виджетов и т. Д.) В любое место.

Тем не менее, KDAB утверждал, что поддерживать код QDockWidgets непросто, как он комментирует это:

KDDockWidgets родился из-за моей потребности сохранить рассудок после работы над двумя проектами, которые требовали обширной настройки. Один, в котором мы пытались работать напрямую, но скорость регресса оказалась слишком большой.

И еще один, в котором я пошел по пути использования частных API, фальшивых событий мыши и фильтров событий, что сначала показалось хорошей идеей, но в конечном итоге принесло много боли. Кроме того, наши клиенты стали более изобретательными в своих запросах, поэтому было ясно, что нам нужна лучшая структура стыковки.

Основная проблема - это дизайн, довольно монолитный, но настраиваемый (мы можем выбирать функции, доступные пользователю, даже если это мало кто делает, для анимации), со спагетти-кодом (весело смешивая логику и состояние компонентов). Следовательно, любое изменение может привести к большому количеству регрессий.

Вот почему KDAB решил создать KDDockWidgets., с помощью которого он стремится значительно упростить дизайн QDockWidgets, облегчая его адаптацию к конкретным ситуациям.

KDDockWidgets предоставляет следующие функции:

  • Возможность закрепить виджеты в плавающем окне и закрепить эту группу в главном окне.
  • Присоединение к любому окну, а не только к главному окну
  • Пристыковка к центру главного окна
  • Поддержка съемных вкладок в центральном виджете в главном окне
  • Возможность отсоединять вкладки от панели вкладок в области закрепления
  • Возможность объединить несколько вкладок, объединив несколько компонентов.
  • Открытие виджетов внутренней справки, чтобы пользователь мог их настраивать или предоставлять свои собственные.
  • Группы компонентов могут свободно переключаться из внешнего окна (которое содержит только эту группу компонентов) в главное окно (функция, частично реализованная в Qt 5.10).
  • Настроить виджеты вкладок
  • Настроить заголовки
  • Настроить оконные рамы
  • В дополнение к выделению того, что основное изменение - это добавление точных индикаторов для удаления элементов из графического интерфейса пользователя, в дополнение к тому факту, что исчезает понятие центрального виджета, поскольку как таковое это больше не конкретный элемент.

Новая организация четко отделяет логику от графического интерфейса., так что базовая среда выполнения можно легко повторно использовать для интерфейсов Qt Quick (что в конечном итоге ожидается). Это также упрощает настройку интерфейса, пользователь может предоставить свои собственные виджеты для любой части интерфейса.

Кроме того, KDDockWidgets предназначен для использования в качестве фреймворка, поэтому вы можете легко переопределить интерфейсы. для обеспечения индивидуального внешнего вида и поведения. KDDockWidgets - это фреймворк с открытым исходным кодом, который находится под лицензиями GPLv2 и GPLv3.

Доступен код KDDockWidgets, а также его демо. По следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.