mid*_*kin 1 python tkinter tkinter-layout
我一直在从一本电子书中学习 Python。现在我正在学习这个Tkinter
模块
这本书建议运行以下代码。但是,它不能正常工作。任何想法为什么?
from Tkinter import *
window = Tk()
window.geometry("200x200")
my_frame = Frame()
my_frame.pack
button1 = Button(my_frame, text = "I am at (100x150)")
button1.place(x=100, y=150)
button2 = Button(my_frame, text = "I am at (0 x 0)")
button2.place(x=0, y=0, width=100, height=50)
window.mainloop()
Run Code Online (Sandbox Code Playgroud)
我应该得到什么:
我得到的:
添加button1.pack()
and 后button2.pack()
,我得到了这个:
place
. 学习使用pack
或grid
。由 管理的小部件place
不会影响其包含父级的大小。因为你没有给出my_frame
大小,也因为你没有打包它来填充窗口,所以它只有 1 像素高 x 1 像素宽。这使得它(以及其中的小部件)有效地隐形。如果您坚持使用place
,则需要给出my_frame
一个大小,或者使用使其填充其父级的选项来打包它。my_frame.pack
应该是my_frame.pack()
(注意后面的括号)如果您对快速修复而不是解释更感兴趣,请按以下方式打包my_frame
:
my_frame.pack(fill="both", expand=True)
Run Code Online (Sandbox Code Playgroud)
这就是修复代码所需的全部内容。