使用Lambda更新Tkinter按钮文本时显示Lambda字符串问题求助
问题原因
你把Button的text参数设置成了lambda函数,而Tkinter的text属性需要的是直接的字符串值,因此按钮会把lambda对象转换成字符串显示,而非执行函数返回对应金额。
解决方法
修改cardButton.config的赋值代码,直接调用getPlayerMoney(i)获取当前玩家的金额字符串,赋值给text:
# 替换原lambda赋值行 cardButton.config(text=getPlayerMoney(i))
补充说明
如果后续玩家金额发生变动,需要更新按钮文本时,可以遍历button_list,重新设置每个按钮的text属性:
# 示例:更新所有玩家按钮的金额显示 for idx, btn in enumerate(button_list): btn.config(text=getPlayerMoney(idx))
内容的提问来源于stack exchange,提问作者51014
相关产品推荐
相关产品推荐

