Tkinter无法使用地方()

时间:2015-06-03 15:05:22

标签: python tkinter tk

我刚遇到问题。 我不能在我的应用程序的某些部分使用place方法。

例如:

root = Tk()
gameFrame = Frame(root)
gameFrame.place(x=125, y=75)

在我的应用程序的开头,我创建了一个Frame,然后我的“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)

它没有显示任何内容,也没有显示错误。 有人能帮我吗 ?感谢

1 个答案:

答案 0 :(得分:0)

由于您没有在gameFramegrid中添加任何内容,因此帧大小将为1x1。使用pack时,框架不会增大或缩小以适合其子项。因此,即使您将画布放在框架中,画布也是不可见的,因为框架只有一个像素宽且高。

最佳解决方案是使用place,而是使用placegrid。如果您坚持使用pack,则需要为place提供明确的宽度和高度,或使用gameFramerelwidth属性使其成为根窗口