Skip to content

hosein-srj/qt-graph-visualizer

Repository files navigation

Qt Graph Visualizer

This project is a simple interactive graph editor built with Qt (C++/QtWidgets). It allows users to add, remove, move, and connect nodes visually, and provides support for import/export of the graph structure using JSON files.

✨ Features

  • Add / remove nodes
  • Drag and move nodes
  • Connect nodes with edges
  • Edge arrows for direction
  • Customizable node and edge colors
  • Configurable node radius
  • Import/Export graph to JSON

📋 Todo

  • Add/Remove Nodes and Edges
  • Visual edge arrow direction
  • Import/Export JSON support
  • Add edge weights
  • Add labels to nodes and edges
  • Highlight selected edges
  • Save and load node colors/radius
  • Implement pathfinding algorithms:
    • Dijkstra's Algorithm (shortest path)
    • A* Search Algorithm
  • Implement Minimum Spanning Tree (MST):
    • Prim's Algorithm
    • Kruskal's Algorithm
  • Visual animation for algorithm steps
  • Undo/Redo support
  • Search node by ID or label
  • Save as image (SVG, PNG)

📸 Preview

image

🚀 Getting Started

Prerequisites

  • Qt 5 or 6 (tested with Qt 5.15+)
  • CMake or qmake
  • C++11 or higher

Build Instructions

Using CMake:

mkdir build
cd build
cmake ..
make
./GraphEditor

Contributing

Feel free to contribute to this project by submitting issues or pull requests. Your feedback and contributions are highly appreciated.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

About

graph editor built with Qt (C++/QtWidgets)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published