调整窗口大小而不覆盖小部件

时间:2016-08-24 01:02:23

标签: tkinter resize pack

这个Python-tkinter程序使用包几何管理器在根窗口中放置文本小部件和“退出”按钮 - 文本小部件位于按钮上方。

import tkinter as tk
root = tk.Tk()
txt = tk.Text(root, height=5, width=25, bg='lightblue')
txt.pack(fill=tk.BOTH,expand=True)
txt.insert('1.0', 'this is a Text widget')
tk.Button(root, text='quit', command=quit).pack()
root.mainloop()

当我通过向下拖动其下边框来调整根窗口的大小时,我将丢失退出按钮。它在根窗口的边界下消失了。但我试图让退出按钮随窗口的边框向上移动,同时让文本小部件缩小。我在两个小部件中的pack()和“height”中都使用了“fill”和“expand”,但没有成功。

拖动窗口时,是否有任何直接的方法可以保持退出按钮?

(在研究过程中,我注意到网格几何体及其“粘性”单元格可以轻松完成此任务。但我仍然很想知道是否有任何简单的方法可以对包几何进行相同的操作。)

1 个答案:

答案 0 :(得分:0)

在打包文本小部件之前打包退出按钮。当窗口对于其内容来说太小时,它会以相反的顺序开始收缩小部件,直到它们不再缩小为止,然后它开始剪切小部件。

文本窗口小部件是窗口中最大的窗口小部件,在开始剪切之前可能会缩小很多。