在Tkinter Label中避免来自元组的多余大括号{}问题
解决Tkinter Label出现多余大括号的问题
问题原因
你给ttk.Label的text参数传入了元组(逗号分隔的多个值会被Python自动打包成元组),而Tkinter在处理元组类型的text内容时,会将每个元组元素作为独立文本段渲染,因此出现了包裹每个段的大括号。
简便解决方案
推荐以下几种直接生成完整字符串的方式:
1. 使用f-string(最简洁,Python3.6+支持)
ttk.Label(root, text=f"Erlaubte Fehlergrenze zwischen {hin1} und {hin2} = {fehlergrenze} Wir haben: {fehler}").pack()
2. 使用字符串join方法
先把所有元素转为字符串后拼接成完整文本:
text = " ".join([ "Erlaubte Fehlergrenze zwischen", str(hin1), "und", str(hin2), "=", str(fehlergrenze), "Wir haben:", str(fehler) ]) ttk.Label(root, text=text).pack()
3. 使用旧式格式化符%
ttk.Label(root, text="Erlaubte Fehlergrenze zwischen %s und %s = %s Wir haben: %s" % (hin1, hin2, fehlergrenze, fehler)).pack()
以上方法都能生成符合预期的连续文本,避免大括号出现。
内容的提问来源于stack exchange,提问作者swiss army knive
相关产品推荐
相关产品推荐

