Skip to main content

A library to display and manipulate graphs on a tkinter canvas.

Project description

tkCanvasGraph is a Python library that implements a tkinter canvas on which users can display and manipulate graphs.

The documentation is available on http://tkCanvasgraph.readthedocs.io/.

A small example of its usage:

import tkinter
from tkCanvasGraph import CanvasFrame, Vertex, Edge
root = tkinter.Tk()
frame = CanvasFrame(root)
frame.pack(fill="both", expand=True)
v1 = Vertex(frame.canvas, label="vertex1")
frame.canvas.add_vertex(v1)
v2 = Vertex(frame.canvas, label="vertex2")
frame.canvas.add_vertex(v2)
edge = Edge(frame.canvas, v1, v2, label="edge")
frame.canvas.add_edge(edge)
root.mainloop()

It creates a new tkinter window, fills it with a CanvasFrame (a tkinter frame containing a tkCanvasGraph frame.canvas, but also buttons to apply layouts, and scrollbars), then add two vertices and one edge.

Another example is the tkCanvasGraph/__main__.py file:

python -m tkCanvasGraph

It opens a similar window with additional functionalities:

  • new vertices can be created with CTRL + left click,

  • new edges by maintaining CTRL and dragging and dropping the mouse from one vertex to another,

  • elements can be deleted with CTRL + right click,

  • labels can be modified by right-clicking on any element,

  • “j” key will create a new vertex in a random position,

  • “k” key will create a new edge between two vertices without an edge,

  • “o” key will apply one step of the force based layout.

Look at the code to get more insight on how to use the library.

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tkCanvasGraph-1.0.tar.gz (19.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page