萝卜头IT论坛

搜索
查看: 1236|回复: 6
收起左侧

[教程] 有会python tkinter的坛友吗

[复制链接]
发表于 2023-1-22 12:58:31 | 显示全部楼层 |阅读模式
RT
请教布局问题
+Q 1471198324
回复

使用道具 举报

 楼主| 发表于 2023-1-22 13:04:17 | 显示全部楼层
程序中全用的是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()两种布局
回复

使用道具 举报

发表于 2023-1-22 14:22:52 | 显示全部楼层
Ace_qingfeng 发表于 2023-1-22 13:04
程序中全用的是grid布局 并无报错 添加了以下代码:
f = Figure(figsize=(5, 4), dpi=100)
a = f.add_subpl ...

把全部pack换长grid试试
回复

使用道具 举报

发表于 2023-1-22 20:15:55 | 显示全部楼层
建议楼主到专业的论坛看看吧。
回复

使用道具 举报

发表于 2023-1-27 14:07:32 | 显示全部楼层
@爱电脑的昕宇 tkinter大神
其实除了小工具,真正的程序我不推荐tk,推荐qt
回复

使用道具 举报

 楼主| 发表于 2023-1-27 14:16:23 | 显示全部楼层
SunValley 发表于 2023-1-27 14:07
@爱电脑的昕宇 tkinter大神
其实除了小工具,真正的程序我不推荐tk,推荐qt

主要我一开始就用tk
没接触过别的
已经解决了
回复

使用道具 举报

发表于 2023-1-27 19:26:51 | 显示全部楼层
SunValley 发表于 2023-1-27 14:07
@爱电脑的昕宇 tkinter大神
其实除了小工具,真正的程序我不推荐tk,推荐qt

确实不少人都说qt更丰富,但我为了简单选了tk
回复

使用道具 举报

联系我们(Contact)|手机版|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2024-4-26 00:31 , Processed in 0.089308 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表