0

在正常的绘图上,十字准线工作得很好, 请参见此处的屏幕截图

但是,当我的绘图嵌入到 GUI 中,也就是不是一个单独的窗口时,它不会显示它。我收到的代码警告之一是“光标”未访问Pylance

cursor = Cursor(plot, useblit=True, horizOn=True, vertOn=True, color="green", linewidth=2.0)

我的情节部分代码:

        figure = Figure(figsize=(5, 4), dpi=100)
        plot = figure.add_subplot(1, 1, 1)
        figure.suptitle(Date, fontsize=12)
        plot.plot(x, y, color=Color)                                

        canvas = FigureCanvasTkAgg(figure, root)
        canvas.get_tk_widget().place(x=4,y=200)

        
        toolbar = NavigationToolbar2Tk(canvas, root, pack_toolbar=False)
        toolbar.update()
        toolbar.place(x=4,y=600)

        cursor = Cursor(plot, useblit=True, horizOn=True, vertOn=True, color="green", linewidth=2.0)
4

2 回答 2

0

如果不查看所有内容就很难说,但我的猜测是Cursor该类未导入,或者您正在分配游标变量并且从不使用它。

于 2021-06-04T21:48:04.710 回答
0

Cursor继承自并AxesWidget根据AxesWidget 的文档

为了保证小部件保持响应并且不被垃圾收集,用户应该维护对对象的引用。

因此,如果您的代码在函数内部,那么您需要保留光标的引用。尝试:

plot.cursor = Cursor(plot, useblit=True, horizOn=True, vertOn=True, color="green", linewidth=2.0)

它使用属性plot来保存光标的引用。

于 2021-06-05T01:11:14.130 回答