使用网格几何和屏幕大小根据窗口大小调整窗口小部件大小

时间:2016-07-25 09:55:17

标签: tkinter

我想使用网格几何来根据窗口大小(最大化或最小化)更改窗口小部件的大小。

示例:

如果制作了一个窗口,并且在最小化模式下完成了它的外观,但在展开时它会显示一些空白。我想以这样的方式扩展窗口小部件以实现该空白区域。

如果更换液晶显示屏,窗口应该看起来相同。它还应根据不同的液晶显示屏尺寸管理其尺寸 我使用了grid_rowconfigure和grid_columnconfigure方法,但是在我的程序中我删除了一个框架,然后在该窗口上显示另一个框架...它适用于第一帧但它不适用于第二帧而另一个问题是当我将我的液晶显示屏更换为较小的液晶显示屏时,在大屏幕中排列的窗口中无法看到小部件。小部件与窗口边界重合,由于屏幕大小,一些小部件从窗口消失。

2 个答案:

答案 0 :(得分:2)

您需要分别在您绘制子项widgets的父/主窗口小部件的行和列上应用grid_rowconfigure()grid_columnconfigure()

示例:

假设在主窗口上您在第一行和前两列上绘制了2个按钮。您将需要像上面这样应用上述方法:

    main_window.grid_rowconfigure(0, weight=1) # For row 0
    main_window.grid_columnconfigure(0, weight=1) # For column 0
    main_window.grid_columnconfigure(1, weight=1) # For column 1

父/主columns的{​​{1}}和rows有一个window网格选项。默认情况下,此选项设置为0(不要展开以填充空格),如果weight中有额外的空间要填充,则会显示行/列的增长量。

答案 1 :(得分:-1)

这是你正在寻找的东西:

from tkinter import *
root = Tk()

label = Label(root, text="Hello world!", bg='cyan')
label.place(relwidth=0.5, relheight=0.5)