为什么我看不到带有以下代码的红框?
import Tkinter
root = Tkinter.Tk()
root.geometry("220x300")
container_frame = Tkinter.Frame(background = "red", width = 100, height = 120)
container_frame.pack()
widget_button = Tkinter.Button(master = container_frame)
widget_button.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
您没有看到它,因为按钮和框架之间没有填充.默认情况下,容器"缩小以适应"其内容.即使您向框架添加明确的宽度或高度,它也会缩小以完全适合其子项.
有几种方法可以达到你想要的效果,但目前尚不清楚你想要的效果.您可以关闭此"缩小到适合"行为(使用container_frame.pack_propagate(False)).或者,您可以在窗口小部件周围添加填充.或者,您可以将背景应用于框架的容器.或者您可以打包框架以填充其容器(主窗口),然后确保包含窗口足够大以暴露框架.
有关最后一个建议的示例,您可以将一行更改为:
container_frame.pack(side="top", fill="both", expand=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1517 次 |
| 最近记录: |