有会python tkinter的坛友吗
RT请教布局问题
+Q 1471198324 程序中全用的是grid布局 并无报错 添加了以下代码:
f = Figure(figsize=(5, 4), dpi=100)
a = f.add_subplot(111)# 添加子图:1行1列第1个
# 生成用于绘sin图的数据
x = np.arange(0, 3, 0.01)
y = np.sin(2 * np.pi * x)
# 在前面得到的子图上绘图
a.plot(x, y)
# 将绘制的图形显示到tkinter:创建属于main的canvas画布,并将图f置于画布上
canvas = FigureCanvasTkAgg(f, master=main)
canvas.draw()# 注意show方法已经过时了,这里改用draw
canvas.get_tk_widget().pack(side=tkinter.TOP,# 上对齐
fill=tkinter.BOTH,# 填充方式
expand=tkinter.YES)# 随窗口大小调整而调整
# matplotlib的导航工具栏显示上来(默认是不会显示它的)
toolbar = NavigationToolbar2Tk(canvas, main)
toolbar.update()
canvas._tkcanvas.pack(side=tkinter.TOP,# get_tk_widget()得到的就是_tkcanvas
fill=tkinter.BOTH,
expand=tkinter.YES)
并修改为:
f = Figure(figsize=(4, 3), dpi=100)
a = f.add_subplot(111)# 添加子图:1行1列第1个
# 生成用于绘sin图的数据
x = np.arange(0, 3, 0.01)
y = np.sin(2 * np.pi * x)
# 在前面得到的子图上绘图
a.plot(x, y)
# 将绘制的图形显示到tkinter:创建属于main的canvas画布,并将图f置于画布上
canvas = FigureCanvasTkAgg(f, master=main)
canvas.draw()# 注意show方法已经过时了,这里改用draw
canvas.get_tk_widget().grid(column=4, row=1, rowspan=9)
# matplotlib的导航工具栏显示上来(默认是不会显示它的)
toolbar = NavigationToolbar2Tk(canvas, main)
toolbar.update()
canvas._tkcanvas.grid(column=4, row=1, rowspan=9)
报错:_tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by grid
简单来说:不能同时使用park() grid()两种布局 Ace_qingfeng 发表于 2023-1-22 13:04
程序中全用的是grid布局 并无报错 添加了以下代码:
f = Figure(figsize=(5, 4), dpi=100)
a = f.add_subpl ...
把全部pack换长grid试试https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif 建议楼主到专业的论坛看看吧。 @爱电脑的昕宇 tkinter大神
其实除了小工具,真正的程序我不推荐tk,推荐qt SunValley 发表于 2023-1-27 14:07
@爱电脑的昕宇 tkinter大神
其实除了小工具,真正的程序我不推荐tk,推荐qt
主要我一开始就用tk
没接触过别的
已经解决了 SunValley 发表于 2023-1-27 14:07
@爱电脑的昕宇 tkinter大神
其实除了小工具,真正的程序我不推荐tk,推荐qt
确实不少人都说qt更丰富,但我为了简单选了tk
页:
[1]