首页 > 解决方案 > Tkinter - 带有标签的窗口空白,但可以打印标签中的相同值

问题描述

我有一些计算用户卡路里的代码。我知道实际计算运行正常,因为如果我让 python 只打印结果,它会返回正确的值。但是,如果我尝试通过 Tkinter 标签模块显示该值,则窗口只是空白。

    RecommendedCal = 0
    if (gendervar.get() == "Male"):
        RecommendedCal = (10 * weight) + (6.25 * height) - (5 * age) + 5
    elif (gendervar.get() == "Female"):
        RecommendedCal = (10 * weight) + (6.25 * height) - (5 * age) - 161
    TotalCalories = Label(calreco_screen, textvariable=RecommendedCal)
    TotalCalories.pack()

标签: python-3.xtkinterlabel

解决方案


您是否RecommendedCal事先作为字符串变量启动?使用以下启动的字符串变量:

RecommendedCal = StringVar()

然后为您的逻辑使用另一个 int/float 变量(此处为 cal_value)然后在适当的时候更新标签内容:

RecommendedCal.set(f"{cal_value}")

推荐阅读