Tkinter 无法使用 place()
Tkinter impossible to use place()
我刚遇到问题。
我无法在我的应用程序的某些部分使用 place 方法。
例如:
root = Tk()
gameFrame = Frame(root)
gameFrame.place(x=125, y=75)
在我的应用程序的开头,我创建了一些框架,然后我的 "gameFrame" 定位在方法位置,它起作用了!
但后来,我在另一个函数中,我想手动放置 Canvas :
canvas = Canvas(gameFrame, width=50, height=50,bd=0)
canvas.create_polygon(25, 0, 50, 15, 50, 35, 25, 50, 0, 35, 0, 15, fill="grey")
canvas.place(x=50+50*i, y=50+50*j)
它什么都不显示,也没有错误。
有人能帮我吗 ?谢谢
因为您没有在 gameFrame
和 grid
或 pack
中放置任何内容,所以帧大小将为 1x1。当您使用 place
时,框架将不会扩大或缩小以适合其子项。因此,即使您将 canvas 放在框架中,canvas 也将不可见,因为框架只有一个像素宽和高。
最好的解决办法是不使用place
,而是使用grid
或pack
。如果你坚持使用place
,你需要给gameFrame
一个显式的宽度和高度,或者使用relwidth
和relheight
属性让它填充根window.
我刚遇到问题。 我无法在我的应用程序的某些部分使用 place 方法。
例如:
root = Tk()
gameFrame = Frame(root)
gameFrame.place(x=125, y=75)
在我的应用程序的开头,我创建了一些框架,然后我的 "gameFrame" 定位在方法位置,它起作用了!
但后来,我在另一个函数中,我想手动放置 Canvas :
canvas = Canvas(gameFrame, width=50, height=50,bd=0)
canvas.create_polygon(25, 0, 50, 15, 50, 35, 25, 50, 0, 35, 0, 15, fill="grey")
canvas.place(x=50+50*i, y=50+50*j)
它什么都不显示,也没有错误。 有人能帮我吗 ?谢谢
因为您没有在 gameFrame
和 grid
或 pack
中放置任何内容,所以帧大小将为 1x1。当您使用 place
时,框架将不会扩大或缩小以适合其子项。因此,即使您将 canvas 放在框架中,canvas 也将不可见,因为框架只有一个像素宽和高。
最好的解决办法是不使用place
,而是使用grid
或pack
。如果你坚持使用place
,你需要给gameFrame
一个显式的宽度和高度,或者使用relwidth
和relheight
属性让它填充根window.