【发布时间】:2016-05-05 10:40:11
【问题描述】:
我是 Gui 编程的新手,所以如果这个问题在其他地方使用适当的术语重复出现,我深表歉意。 是否可以使用 matplotlib 制作交互式几何动画?特别是,我想在 Tkinter 框架中嵌入一个交互式 Matplotlib 窗口,以测试同一算法的几个变体。
这是一个典型的使用场景,我想为它写一个交互式 如上所述的程序:假设我想测试二维平面中点集的三角测量算法。
当我运行我的new_triangulation_algorithm.py 脚本时,我想打开一个具有嵌入式 matplotlib 窗口的交互式 tkinter 框架,用户可以在其中通过单击例如 20 个不同的点来“鼠标输入”他/她的点 - - 每次选择一个点时,该位置会出现一个粗蓝点。我知道当我将鼠标光标悬停在该点上时,Matplotlib“知道”该点的坐标,因为我总是看到它显示在我的绘图的状态栏中。
但我不知道如何用鼠标在该位置输入一个点。
我的 Tkinter 框架的第二个面板将包含几个按钮,每个按钮对应一个不同的三角测量算法,我想在给定的点集上设置动画。
随着算法的进行,我希望 matplotlib 窗口能够刷新以显示算法的当前状态。我想我必须使用 Matplotlib 的动画功能来做到这一点,但我不确定 这是因为 Matplotlib 必须嵌入到 Tkinter 框架中。
以后,我不仅想输入点,还想输入线段、圆、矩形,但我想掌握一个带点的基本示例 如上所述。
【问题讨论】:
-
你可以制作自定义 UI Widget 来调用鼠标事件,并且每次鼠标点击框架/画布时都会创建新的 UI 小部件,这就是 Pyside 的工作原理。
标签: python algorithm animation matplotlib tkinter