我在 tkinter 中收到“画布对象没有属性 get_tk_widget”错误

问题描述 投票:0回答:1

当我在 thinkter 库中运行以下代码时,我从 get_tk_widget() 收到属性错误。我收到“canvas object has no attribute get_tk_widget”错误。我可以写什么来代替这段代码?


try:
        if canvas:
            canvas.get_tk_widget().grid_forget()
        canvas = FigureCanvasTkAgg(fig, master=root)
        canvas_widget = canvas.get_tk_widget()
        canvas_widget.grid(row=8, columnspan=4, sticky="nsew")
        scrollbar = tk.Scrollbar(root, orient="horizontal", command=canvas_widget.get_tk_widget().xview)
        scrollbar.grid(row=9, columnspan=4, sticky="ew")
        canvas_widget.get_tk_widget().configure(xscrollcommand=scrollbar.set)

canvas_widget.get_tk_widget().bind('<Configure>', on_canvas_configure)

Gui 屏幕打开,但此处的 get_tk_widget 给出属性错误。

matplotlib tkinter syntax-error
1个回答
0
投票

canvas_widget
tkinter.Canvas
小部件的实例,因此它不具有
get_tk_widget()
功能。

您需要将这些

canvas_widget.get_tk_widget()
更改为
canvas_widget
:

...
scrollbar = tk.Scrollbar(root, orient="horizontal", command=canvas_widget.xview)
scrollbar.grid(row=9, columnspan=4, sticky="ew")
canvas_widget.configure(xscrollcommand=scrollbar.set)
...
canvas_widget.bind("<Configure>", on_canvas_configure)
© www.soinside.com 2019 - 2024. All rights reserved.