我刚遇到问题。 我不能在我的应用程序的某些部分使用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)
它没有显示任何内容,也没有显示错误。 有人能帮我吗 ?感谢
答案 0 :(得分:0)
由于您没有在gameFrame
或grid
中添加任何内容,因此帧大小将为1x1。使用pack
时,框架不会增大或缩小以适合其子项。因此,即使您将画布放在框架中,画布也是不可见的,因为框架只有一个像素宽且高。
最佳解决方案是不使用place
,而是使用place
或grid
。如果您坚持使用pack
,则需要为place
提供明确的宽度和高度,或使用gameFrame
和relwidth
属性使其成为根窗口