如何 return 直接输出而不在 Tkinter 中创建按钮

How to return an output directly without creating a button in Tkinter

晚上好,我正在努力 return 输出而不在 Tkinker 中创建按钮。我想根据输入 return "Excellent" 或 "Done",但只显示输入。

下面是我正在努力处理的代码

from tkinter import *

root = Tk()

num = StringVar()
entry1 = Entry(root, textvariable=num).pack()

remark = StringVar()
entry2 = Entry(root, textvariable=remark).pack()

def set_label(name, index, mode):
    return remark.set(num.get())
    if result > 56:
        return "Excellent"
    else:
        return "Done"

num.trace('w', set_label)
num.set('')

root.mainloop

我不太确定你想做什么,但我修改了你的函数以确定 num entry 是否为 ''。如果不是,则将获取的值转换为 int 并与 56 进行比较。如果更大,则将条目 "Excellent" 插入备注条目,否则将 "Done" 放入备注条目。

当您输入每个数字时,将与 56 进行比较,因此第一个数字将始终导致 "Done" 出现。一旦超过 56(至少需要 2 位数字),它将继续保持 "Excellent".

同样,我已根据提供的逻辑尽力而为。这是完整的代码:

from tkinter import *

root = Tk()

num = StringVar()
entry1 = Entry(root, textvariable=num).pack()

remark = StringVar()
entry2 = Entry(root, textvariable=remark).pack()

def set_label(name, index, mode):
    result = num.get()
    if result == '':
        pass # not sure what rule should be here
    else:
        result = int(result)
        if result > 56:
            remark.set("Excellent")
        else:
            remark.set("Done")

num.trace('w', set_label)
num.set('')

root.mainloop