2016-08-24 126 views
0

此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”两个小部件,但没有成功。

是否有任何直接的方法来保持退出按钮可见,而拖动窗口变小?在研究中,我注意到网格几何及其“粘性”单元可以很容易地完成这项任务,但我仍然很想知道是否有任何简单的方法可以与包几何相同。)

回答

0

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

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

+0

太好了。这是我所希望的简单直接,而且它的行为完全符合我的要求。为了稍后有人出现:因为我正在打包按钮_before_我打包文本,但我仍然希望按钮出现在文本后面,我需要使用“pack(side = tk.BOTTOM)”用于包装按钮。 – yoopits