QtNodes
A Qt-based library for building node graph editors
QtNodes lets you create interactive node-based interfaces for visual programming, data flow applications, shader editors, state machines, and more. Built on Qt’s Model-View architecture, it separates your data from its visual representation.
// Create a graph and display it in 5 lines
DataFlowGraphModel model(registry);
DataFlowGraphicsScene scene(model);
GraphicsView view(&scene);
view.show();
Key Features
Model-View Architecture – Your graph data stays independent of the UI
Data Flow Support – Built-in data propagation between connected nodes
Headless Mode – Run graph computations without any GUI
Customizable – Custom painters, styles, and node geometries
Serialization – Save and load graphs as JSON
Undo/Redo – Built-in support via Qt’s undo framework
Two Approaches
Simple Graph Visualization |
Data Flow Processing |
|---|---|
Use |
Use |
You manage all graph data |
Library manages node delegates and data routing |
Best for: visualization, custom graph logic |
Best for: visual programming, calculators, pipelines |