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