6 июня состоялся выпуск 2.0.1 библиотеки QSchematic, предназначенной для создания интерактивных схем и диаграмм с использованием Graphics View фрейворка Qt 6. Код проекта написан на языке C++ (начиная с версии 2.0.0 требуется компилятор с поддержкой стандарта C++23) и распространяется по лицензии MIT.
Библиотека предоставляет базовые классы для объектов, таких как узлы и провода, и реализует логику для перемещения объектов, сохраняя провода подключенными, генерируя список сетей и так далее. Типичное приложение включает в себя эту библиотеку и наследники класса Item
для реализации пользовательских элементов.
Возможности библиотеки:
- добавление, удаление, перемещение и изменение размера узлов;
- соединение узлов проводами;
- стек отмены и повтора команд;
- Drag’n’Drop;
- экспорт в JSON и пользовательские экспортёры;
- сериализация и десериализация в/из XML или YAML;
- полностью настраивается путём наследования от предоставленных классов;
- все элементы поддерживают подсветку и дополнительный всплывающий виджет при наведении курсора;
- прямые, квадратные и сплайновые (кривые Безье) провода;
- узлы и коннекторы;
- виджеты (встраивание в сцену любого наследника QWidget).
В новой версии некоторые контейнеры Qt заменены их аналогами из C++ STL для подготовки к улучшению системы проводов.
Изменения прозрачны для пользователя, без изменений в поведении или API.