窗口中的框架里的标签为何不伸展?
我想要显示一个
- 窗口
- 里面有一个
Frame
- 在这个
Frame
里有一个Label
,它应该能撑满整个窗口的宽度
下面的代码
import Tkinter as tk
root = tk.Tk()
root.geometry("100x100")
# first column of root will stretch
root.columnconfigure(0, weight=1)
# a frame in root
upper_frame = tk.Frame(root)
# first column of upper_frame will stretch
upper_frame.columnconfigure(0, weight=1)
upper_frame.grid(row=0, column=0)
# a label in upper_frame, which should stretch
mylabel = tk.Label(upper_frame)
mylabel.grid(row=0, column=0)
mylabel.configure(text="hello", background="blue")
root.mainloop()
显示了
为什么这个 Label
没有撑满整个窗口的宽度,而只是和文本一样宽呢?
1 个回答
1
在你使用grid
方法时,如果指定了sticky
选项(e
代表东边,w
代表西边),那么这个小部件就会靠着你指定的方向对齐。否则,单元格里的小部件会默认居中对齐。
upper_frame.grid(row=0, column=0, sticky='ew')
..
mylabel.grid(row=0, column=0, sticky='ew')