【问题标题】:returning a string in tkinter在 tkinter 中返回一个字符串
【发布时间】:2017-04-23 12:59:22
【问题描述】:

我正在尝试创建一个 gui,当用户在输入框中输入一个值时,一个标签会根据我创建的函数中的计算返回一个字符串值。

当我在 Sublime 中运行该函数时,它可以正常工作,它给出了我想要的答案,但我希望 IF 语句的结果在标签中返回,但我看不到让它工作。我将如何将此计算链接到标签?

def recommend():
    try:
        in_today = int(staff.get())
        percentage = (in_today / total_fte_needed*100)
        ten_percent = 10 / 100 * total_fte_needed
        over_ten = total_fte_needed + ten_percent
        under_ten = total_fte_needed - ten_percent
        extra = (round(in_today - under_ten,2))
        loan = (round(in_today - over_ten,2))

        if in_today < under_ten :
            print('Recommend you borrow ' + str(extra) + ' fte')
        elif in_today > over_ten :
            print('More than enough staff in today, there is ' + str(loan) + ' available for loan')
        else :
            print('Enough staff in today, recommend no staff requirements or loans')
        recommend
    except ValueError:
        print('Please enter whole number')
        pass

【问题讨论】:

  • 如果你想返回字符串而不是打印它,那么...使用return,而不是print
  • 谢谢。我会在标签中设置什么?文字=推荐?
  • = recommend(),您必须调用该函数以获取它返回的值。
  • 抱歉,我仍然无法正常工作。值得一提的是,一个按钮会先按下运行然后运行,但答案需要显示在标签中?
  • 这是我的标签,我试图将结果返回到:recom = tk.Label(window,text =recommend(), font=('Calibri',12)).grid(row =10,column=2,padx=8,pady=8)

标签: python python-3.x function tkinter


【解决方案1】:

经过更多研究,我通过设置一个名为 answer 的 stringvar() 并添加 answer.set 找到了答案,而不是在 if 语句回答之前返回。然后我在标签中设置一个 textvariable = answer 以返回正确的文本语句

【讨论】:

    猜你喜欢
    • 2022-12-12
    • 2012-12-14
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    相关资源
    最近更新 更多