窗口中的框架中的标签不会延伸,为什么?

时间:2014-07-06 13:31:21

标签: python python-2.7 tkinter

我想显示

  • 一个窗口
  • 只有一个Frame
  • Label中的Frame会延伸到窗口的整个宽度

以下代码

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()

显示器

enter image description here

为什么Label伸展到窗口的整个宽度但是和文本一样宽?

1 个答案:

答案 0 :(得分:0)

在致电grid时调用sticky选项(e = east,w = west)。否则,单元格中的窗口小部件是居中对齐的。

upper_frame.grid(row=0, column=0, sticky='ew')
..
mylabel.grid(row=0, column=0, sticky='ew')

enter image description here