v1.0 Now Available for Qt 6

Build Powerful Node Editors
with Speed & Flexibility

A high-performance, open-source library for creating node-based graphs and dataflow programming in Qt/QML. Designed for stability, styled for professionals.

Engineered for Qt Developers

Everything you need to build complex graph visualization tools.

🛠

Modular Architecture

Use or override every component, including ports, connections, context menus.

🎨

Fully Customizable UI

Fully customizable node appearance using QML. Create bezier curves, straight lines, or custom sockets with ease.

High Performance

Optimized for large graphs. Handles hundreds of nodes with smooth zooming, panning, and real-time dragging.

💾

Serialization

Built-in support for saving and loading graph states to JSON, making project file management effortless.

↩️

Undo / Redo Stack

A robust command stack is included out of the box, allowing users to traverse their edit history fearlessly.

⚙️

Qt/C++ Integration

Connect business logic, data models, and C++ backends to nodes.

Examples

Practical use-cases from the NodeLink framework based on the official documentation.

Calculator
Calculator
A visual node-based calculator with NodeLink. Connect nodes to perform mathematical operations, showcasing how to build custom node-based applications.
View Example →
Chatbot
Chatbot
A visual rule-based chatbot with Regex-driven logic. Define conversation patterns by connecting nodes—making the bot’s behavior easy to design, adjust, and extend without hardcoded rules.
View Example →
Logic Circuit
Logic Circuit
A visual digital logic simulator using NodeLink. Build and connect gates, toggle inputs, and watch real-time signal flow—ideal for learning and testing circuits.
View Example →
VisionLink
VisionLink
A visual image processing app using NodeLink. Connect nodes to load, process, and display images, with real-time interaction and C++/QML integration—ideal for building custom, node-based image pipelines.
View Example →
Simple NodeLink
Simple NodeLink
The minimal starter example. Learn to create and connect nodes, and use basic features like save/load, copy/paste, and cloning—perfect for beginners.
View Example →
Performance Analyzer
Performance Analyzer
A benchmarking tool for NodeLink. Create many nodes and links, measure performance, and test scalability under load.
View Example →

Integrate in Minutes

NodeLink is designed to drop into your existing Qt project via CMake. It exposes a clean API to both C++ and QML.

  • Simple CMake `add_subdirectory` integration
  • Automatic QML Type Registration
  • Extensible Node Models

Installation:

git clone https://github.com/Roniasoft/NodeLink.git
main.qml
main.cpp
import QtQuick
import NodeLink

Item {
    id: root
    property  Scene  scene Scene {}

    NodeView {
        id: graphView
        anchors.fill: parent
        scene: root.scene
        Component.onCompleted: {
            console.log("Graph Ready")
        }
    }
}