我正在努力研究如何控制包含框架的窗口的大小调整。在代码中,我在顶部有三个按钮,它们应该保持在原来的位置。
当我拖动窗口来展开它时,我希望它包含的框架和文本框能够与主窗口一起展开。我读过columnconfigure
和rowconfigure
可以使用,但不知道如何实现它。
from tkinter import *
from tkinter import scrolledtext
master_window = Tk()
# Create the buttons
btn_Image = Button(master_window, text='Image')
btn_Image.grid(row=1, column=1, padx=(10), pady=10, sticky=E + W)
btn_File = Button(master_window, text='File')
btn_File.grid(row=1, column=2, padx=(10), pady=10, sticky=E + W)
btn_Folder = Button(master_window, text='Folder')
btn_Folder.grid(row=1, column=3, padx=(10), pady=10, sticky=E + W)
# Group1 Frame ----------------------------------------------------
group1 = LabelFrame(master_window, text="Text Box", padx=5, pady=5)
group1.grid(row=2, column=1, columnspan=3, padx=10, pady=10, sticky=E+W+N+S)
# Create the textbox
txtbox = scrolledtext.ScrolledText(group1, width=40, height=10)
txtbox.grid(row=1, column=1, columnspan=3, sticky=E+W+N+S)
mainloop()
布局管理器的行号和列号从0开始,而不是从1开始(不管您想在哪里开始放置元素都没有错,我只是提到这一点,因为您的代码给我的印象是您认为单元格从1开始,而不是从0开始)。因为我不明白为什么要开始在
row=1
和column=1
放置小部件,在下面的解决方案中,我开始在0索引处放置小部件。我建议您为问题中的3个按钮创建一个不同的容器-父窗口小部件(让我们说一个
tkinter.Frame()
)。代码如下:
演示:
在未拉伸时:
平均拉伸:
最大拉伸后:
相关问题 更多 >
编程相关推荐