python tkinter labelframe_python-如何在Tkinter中使用滚动条创建LabelFrame?

本文讨论了如何在Python Tkinter应用中为包含多个Label和Entry的LabelFrame添加滚动条。由于LabelFrame本身不支持滚动条,作者提出使用Canvas和内部Frame实现这一功能。同时,文章还解决了在调用load_message方法时刷新LabelFrame内容的问题,建议通过销毁并重新创建内部Frame来更新视图,避免旧元素的残留。
摘要由CSDN通过智能技术生成

我正在使用Python和Tkinter为正在编写的程序创建GUI,但遇到了一些问题.

我有三个从LabelFrame继承的对象. LabelFrame的后代之一是对应的Label和Entry对象的两列.

问题在于标签和条目对的数量不尽相同,并且屏幕上可能不止这些.我需要一种方法来为此LabelFrame制作滚动条,以便所有内容都适合屏幕.我尝试了各种制作Scrollbar对象的方法,但是似乎没有任何效果.如何将滚动条绑定到此框架?

另外,当调用load_message()方法时,我需要能够刷新或重新加载此LabelFrame,但是它只是在旧的对上重新显示新的对(因此,在新集中的旧对较少时,仍在底部可见).我尝试使用grid_forget(),但是没有任何变化或整个框架都没有显示.如何忘记此显示然后重新显示?

这是此类的代码:

class freq_frame(LabelFrame):

def __init__(self, master = None, text = 'Substitutions'):

LabelFrame.__init__(self, master, text = text)

self.grid()

def load_message(self):

self.frequency = get_freq(message)

self.create_widgets()

def create_widgets(self):

self.label_list = [Label(self, text = get_label(char, self.frequency[char]), justify = LEFT) for char in self.frequency.keys()]

self.entry_list = [Entry(se

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值