基于在 Tkinter 中动态更改画布的滚动区域的示例,我尝试实现一个框架,您可以在其中使用 tkinter 在可滚动框架中添加和删除条目。我的问题是,删除条目后,保存项目的框架不会调整大小。添加条目时,它会正确调整大小。我update_layout()在这两种情况下都打电话:
from tkinter import *
class ScrollableContainer(Frame):
"""A scrollable container that can contain a number of messages"""
def __init__(self, master, **kwargs):
Frame.__init__(self, master, **kwargs) #holds canvas & scrollbars
# configure row and col to take additional space if there is some
self.grid_rowconfigure(0, weight=1)
self.grid_columnconfigure(0, weight=1)
# create canvas
self.canv = Canvas(self, bd=0, highlightthickness=0)
# create scrollbars
self.hScroll = Scrollbar(self, orient='horizontal',
command=self.canv.xview)
self.hScroll.grid(row=1, column=0, sticky='we')
self.vScroll = Scrollbar(self, orient='vertical',
command=self.canv.yview)
self.vScroll.grid(row=0, column=1, sticky='ns') …Run Code Online (Sandbox Code Playgroud)