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

This version
History Node

1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
tkCanvasGraph-1.0.tar.gz (19.3 kB) Copy SHA256 hash SHA256 Source None Oct 13, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page