鱼C论坛

 找回密码
 立即注册
查看: 2438|回复: 3

[已解决]tkinter中我的Label组件为什么放不到Frame里面

[复制链接]
发表于 2023-2-27 19:33:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from tkinter import *
import datetime

root = Tk()

f1 = Frame(root,width=400,height=200,bg="yellow").grid(row=0,column=0,columnspan=2)

Label(f1,text="123").grid()

root.mainloop()


最佳答案
2023-2-27 19:45:00
你要把 Frame 实例化的对象赋给 f1,不能把 grid 的返回值赋给 f1
from tkinter import *
import datetime

root = Tk()

f1 = Frame(root,width=400,height=200,bg="yellow")                # 注意这里

f1.grid(row=0,column=0,columnspan=2)                                  # 注意这里

Label(f1,text="123").grid()

root.mainloop()
001.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-27 19:45:00 | 显示全部楼层    本楼为最佳答案   
你要把 Frame 实例化的对象赋给 f1,不能把 grid 的返回值赋给 f1
from tkinter import *
import datetime

root = Tk()

f1 = Frame(root,width=400,height=200,bg="yellow")                # 注意这里

f1.grid(row=0,column=0,columnspan=2)                                  # 注意这里

Label(f1,text="123").grid()

root.mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-28 15:02:36 | 显示全部楼层
因为你将frame.grid的返回值(none)赋值给了f1,master是第一个参数,默认值为None
如果master为none,tkinter会认为这参数没传,如果没传参数tkinter就认为这东西就是root的,不是frame的
我讲的比isdkz详细吧,最佳答案~
不过isdkz的代码是正确代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-1 16:55:36 | 显示全部楼层
本帖最后由 chinajz 于 2023-3-1 19:54 编辑

上面的grid()指定了行列,下面对应,就可以放上去
from tkinter import *
import datetime
root = Tk()
f1 = Frame(root,width=400,height=200,bg="yellow").grid(row=0,column=0,columnspan=2)
Label(f1,text="123").grid(row=0,column=0,sticky=W)
root.mainloop()

p1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-2 01:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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