当我在 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 给出属性错误。
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)