Dea*_*kox 2 python grid tkinter python-2.7 responsive
我有一个带有多个子元素的框架,它们使用grid()几何管理器放置在其中。
如何修改下面的代码以使框架响应?
content.grid(column=0, row=0, sticky='nwse')
userButt.grid(column=2, row=1, sticky='nwse')
favoButt.grid(column=3, row=1, sticky='nwse')
locaButt.grid(column=4, row=1, sticky='nwse')
histScal.grid(column=5, row=1, sticky='nwse')
Run Code Online (Sandbox Code Playgroud)
根据经验,无论何时使用grid,都应始终至少为一行和一列赋予非零权重,以便 tkinter 知道在哪里分配额外的空间。默认情况下分配的权重为 0(零)。
两种最常见的情况是,您有一个“英雄”小部件(例如:文本小部件、画布小部件等),它应该根据需要增长和缩小,或者您希望所有东西都同等地调整大小。对于一个小部件获得所有额外空间的情况,只为放置该小部件的行和列赋予权重。如果您希望所有内容均等地调整大小,请为每一行和每一列指定一个权重。
假设您的小部件的父级是content,userButt , etc areroot`,您可能会这样做:
root.grid_rowconfigure(0, weight=1)
root.grid_columnconfigure(0, weight=1)
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,所有额外的空间都将转到第 0 行和第 0 列。
假设您有一个由网格系统管理的窗口,并且您希望使其能够响应,并知道您使用的总行数和列数。假设总行数=6,总列数=10,使窗口在网格管理系统下响应可以如下完成。
n_rows =6
n_columns =10
for i in range(n_rows):
root.grid_rowconfigure(i, weight =1)
for i in range(n_columns):
root.grid_columnconfigure(i, weight =1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9261 次 |
| 最近记录: |