我不熟悉tkinter,我想在我的tkinter窗口的特定位置上的TkAgg画布中放置一个图形。我已经使用place()
方法设置了我的所有小部件,这对我的工作最有效。我现在有一个很大的空白区域,图形画布应该放在那里。有没有办法使用可用的方法grid()
和pack()
将画布精确到那个位置,或者是否有类似于FigureCanvasTkAgg的place()
方法的方法?
我的代码片段
f = Figure(figsize=(5, 4), dpi=100)
a = f.add_subplot(111)
graph = nx.Graph()
...
canvas = FigureCanvasTkAgg(f, master=root)
canvas.draw()
canvas.get_tk_widget().pack()
toolbar = NavigationToolbar2Tk(canvas, root)
toolbar.configure(bg="white")
toolbar.update()
canvas._tkcanvas.pack()
...
我希望起作用的是
canvas.get_tk_widget().place(x=390, y=190, anchor='w')
但它忽略了place()
,只是将其打包到窗口的左上角。
有什么建议吗?
发布于 2020-03-31 09:20:30
您可以添加新的框架,并将其放置在您想要的位置。
然后使用pack()
将画布添加到该帧。
frm = tk.Frame(root)
frm.place(...)
canvas = FigureCanvasTkAgg(f, master=frm)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)
https://stackoverflow.com/questions/60941415
复制相似问题