Tkinter按钮按回路

2024-03-28 13:57:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想交互式地创建一个多边形使用鼠标点击一系列的数字和存储坐标。到目前为止,我只能对一个图形执行此操作,因为循环仍在继续,并且不会等待click事件完成。我做错什么了?在绘图之前的所有数据处理都应该在onclick函数内部完成吗?这是我的代码片段。在

import numpy as np
import matplotlib.pyplot as plt

def onclick(event):
    global ix, iy
    ix, iy = event.xdata, event.ydata

    global coords
    coords.append((ix, iy))

    if len(coords) == 8: # allow for 8 clicks
        fig.canvas.mpl_disconnect(cid)
        plt.close()

for j in np.arange(len(folders)):
    # loop through folders
    for i in np.arange(len(files)):
        # loop through files in folders

        # do data processing

        coords = []

        fig = plt.figure(figsize=(12,12))
        cid = fig.canvas.mpl_connect('button_press_event', onclick)

更新:我添加了一个简单的示例来说明我要做什么。代码确实在运行,但它没有执行我希望它执行的操作。我想绘制一个底图,在地图上绘制一个点4次不同的时间,并为每个实例获得鼠标坐标8次点击。到现在为止,它真的不能满足我的要求。我一般不使用函数,而且是新手,所以任何帮助都是非常感谢的。在

^{pr2}$

Tags: 函数代码ineventforlennpfig