Diagram / Schematic components library
-
wrote on 19 Jun 2019, 13:27 last edited by Joel Bodenmann
Hi,
The past couple of months I've been working on a library that provides components to allow drawing diagrams or schematics in a Qt application. It's called
QSchematic
and is available as open source (BSD 3-clause) at github.The library is far from finished but I think that this might already be useful for someone. Here's a very shot video that only shows the main features: https://youtu.be/7gylsElx4NA. Screenshots & UML diagrams can be found in the readme.
Excerpt from the
readme.md
:QSchematic is a library to draw diagrams & schematics with Qt. It uses Qt's graphics view framework. The library provides base classes for objects such as nodes and wires and implements logic to move objects around while keeping the wires connected, generating netlists and so on. A typical application would include this library and subclass the Item class to implement custom items. Feature overview: - Add, remove, move, resize nodes - Connect nodes with wires - Undo/redo - Drag'n'Drop - Template based netlist generation - Serialization to/from XML (powered by GPDS) - Completely customizable by inheriting from the provided classes - Optional grid with full support for snap-to-grid in all base classes Technical stuff: - Written in C++ - Everything is contained within the QSchematic namespace - Tested with Qt5 - No dependencies other than Qt5 and a C++17 compatible compiler - BSD 3-clause licensed
There's a very cure demo application that comes with the library.
Any kind of feedback & contributions are highly welcomed.Here's a screenshot for the people that just quickly glance over this:
-
Hi,
The past couple of months I've been working on a library that provides components to allow drawing diagrams or schematics in a Qt application. It's called
QSchematic
and is available as open source (BSD 3-clause) at github.The library is far from finished but I think that this might already be useful for someone. Here's a very shot video that only shows the main features: https://youtu.be/7gylsElx4NA. Screenshots & UML diagrams can be found in the readme.
Excerpt from the
readme.md
:QSchematic is a library to draw diagrams & schematics with Qt. It uses Qt's graphics view framework. The library provides base classes for objects such as nodes and wires and implements logic to move objects around while keeping the wires connected, generating netlists and so on. A typical application would include this library and subclass the Item class to implement custom items. Feature overview: - Add, remove, move, resize nodes - Connect nodes with wires - Undo/redo - Drag'n'Drop - Template based netlist generation - Serialization to/from XML (powered by GPDS) - Completely customizable by inheriting from the provided classes - Optional grid with full support for snap-to-grid in all base classes Technical stuff: - Written in C++ - Everything is contained within the QSchematic namespace - Tested with Qt5 - No dependencies other than Qt5 and a C++17 compatible compiler - BSD 3-clause licensed
There's a very cure demo application that comes with the library.
Any kind of feedback & contributions are highly welcomed.Here's a screenshot for the people that just quickly glance over this:
wrote on 19 Jun 2019, 13:33 last edited by@Joel-Bodenmann thx for sharing your work
-
wrote on 2 Dec 2024, 16:24 last edited by
@Joel-Bodenmann - thanks for sharing! Are there PyQt5 bindings for this widget? I am not very familiar with how to create one, but can volunteer my time if you guide.
-
@Joel-Bodenmann - thanks for sharing! Are there PyQt5 bindings for this widget? I am not very familiar with how to create one, but can volunteer my time if you guide.
wrote on 3 Dec 2024, 12:39 last edited by Joel Bodenmann 12 Mar 2024, 13:00@svanimisetti I never created any python bindings but I assume that this would be fairly easy to do. Presumably you would easily find some official documentation, guide, tutorial and examples on this topic.
I'll gladly answer any QSchematic specific question I can.