You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter Text组件字号设置Bug:所有选项均变为48号

Deltae文本编辑器字号选择异常问题修复

问题根源

循环生成字号单选按钮时,使用的lambda: self.Size(size)存在变量延迟绑定问题:lambda函数不会在循环迭代时立即捕获当前的size值,而是等到单选按钮被点击时,才去读取size变量的当前值。循环结束后,size最终的值是48,因此所有字号选项触发时,都会传入48作为参数。

修复代码

将生成字号单选按钮的循环代码修改为:

for size in range(8, 50, 2):
    SizeM.add_radiobutton(label=str(size), command=lambda s=size: self.Size(s))

通过给lambda添加默认参数s=size,让每次循环迭代时,当前的size值被绑定到lambda的默认参数中,确保每个单选按钮的命令都能传入对应正确的字号值。

额外修复提示

字体家族的单选按钮代码也存在类似问题:

# 原错误代码
FamilyM.add_radiobutton(label=font, command=str(self.Family(font)))

这段代码会在循环时立即执行self.Family(font),而非点击时执行,后续实现Family方法时需修改为:

FamilyM.add_radiobutton(label=font, command=lambda f=font: self.Family(f))

内容的提问来源于stack exchange,提问作者Simón

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:16:47