如何 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
晚上好,我正在努力 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