本版
查看: 12334|回复: 6

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

[复制链接]

[Lv.7]特大萝卜

You're the {css} to my html.

楼主(1#)
发表于 2023-1-22 12:58:31 | 只看该作者 |只看大图 |倒序浏览 |阅读模式
RT
请教布局问题
+Q 1471198324
回复

支持 | 反对  0 支持 / 0 反对 评分 举报

[Lv.7]特大萝卜

You're the {css} to my html.

沙发(2#)
 楼主| 发表于 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()两种布局
Ace_qingfeng
Qingfeng_129

[Lv.7]特大萝卜

板凳(3#)
发表于 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试试

Super Moderator

实习版主

地板(4#)
发表于 2023-1-22 20:15:55 | 只看该作者
建议楼主到专业的论坛看看吧。

[Lv.7]特大萝卜

学习者

5#
发表于 2023-1-27 14:07:32 | 只看该作者
@爱电脑的昕宇 tkinter大神
其实除了小工具,真正的程序我不推荐tk,推荐qt
努米诺 AXTA 256G
欢迎留言获取常用软件

[Lv.7]特大萝卜

You're the {css} to my html.

6#
 楼主| 发表于 2023-1-27 14:16:23 | 只看该作者
SunValley 发表于 2023-1-27 14:07
@爱电脑的昕宇 tkinter大神
其实除了小工具,真正的程序我不推荐tk,推荐qt

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

[Lv.8]超级萝卜

7#
发表于 2023-1-27 19:26:51 | 只看该作者
SunValley 发表于 2023-1-27 14:07
@爱电脑的昕宇 tkinter大神
其实除了小工具,真正的程序我不推荐tk,推荐qt

确实不少人都说qt更丰富,但我为了简单选了tk
https://img.picui.cn/free/2025/05/25/6832f9d6d564b.jpg

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

GMT+8, 2026-10-22 00:45 , Processed in 0.07 second(s), 20 queries , Gzip On.

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