在Tkinter画布上显示和操作图形的库。

tkCanvasGraph的Python项目详细描述


TKCanvasGraph是一个Python库,它实现了一个Tkinter画布,在这个画布上 用户可以显示和操作图形。

文档可在http://tkCanvasgraph.readthedocs.io/上找到。

其用法的一个小例子:

importtkinterfromtkCanvasGraphimportCanvasFrame,Vertex,Edgeroot=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()

它创建一个新的tkinter窗口,并用一个画布框架(tkinter)填充它 包含TKCanvasGraphframe.canvas的帧,还包含要应用的按钮 布局和滚动条),然后添加两个顶点和一条边。

另一个例子是tkcanvasgraph/.py文件:

python -m tkCanvasGraph

它将打开一个类似的窗口,其中包含其他功能:

  • 可以使用ctrl+左键单击创建新顶点,
  • 通过保持ctrl并从中拖放鼠标来创建新边 一个顶点到另一个顶点,
  • 可以使用ctrl+右键单击删除元素,
  • 可以通过右键单击任何元素来修改标签,
  • “J”键将在随机位置创建一个新顶点,
  • “k”键将在没有边的两个顶点之间创建新边,
  • “O”键将应用基于力的布局的一个步骤。

查看代码以获得有关如何使用库的更多信息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java中不同http客户端超时时间单位的重要性   java数据[i++]=data[i++]*2结果令我惊讶   java Quartz在使用spring的hibernate中执行事务时发生异常   java如何将我的对象传递给另一个类   java嵌套布局奇怪的问题   当使用javax时,有一种方法可以通过策略定义自定义订单。坚持不懈OrderBy注释?   xml Java DOM getElementByID   java使用intent将视图列表传递给另一个片段   带构造函数的Java枚举。通过构造函数参数获取值的最佳方法   java为什么不在单线程中执行此通量?   如何将JavaScript字符串传递给Nashorn引擎而不是Java字符串?   java二进制XML文件行#17:膨胀类片段时出错   java如何使用Seekbar值作为int变量?   java我想从数据存储中进行选择,但它不起作用   java如何处理幻灯片中的多分辨率图像?   java这意味着什么?类型不匹配:无法从列表<对象和可比<?>&可序列化>以列出<对象>“   java我如何让这个猜谜游戏发挥作用?   java将ZipInputStream传递给DocumentBuilder。parse()   java后添加maven依赖项,org。阿帕奇。卡塔琳娜。过滤器。当前错误消息   java有没有一种方法可以使用安卓通过按下便利键触发方法?