【发布时间】:2023-03-22 15:21:01
【问题描述】:
我在 Tkinter 中制作了一个简单的 GUI。(代码如下) 当我按下“获取”按钮时,我会在命令行中从 GUI 获取文本输入。
假设在此示例中,“用户”在“赢得的服务点数”字段中输入 0.5,在“赢得的返回点数”字段中输入 0.7 作为输入。 当我按下“获取”按钮时,我会在命令提示符中显示以下结果
0.5
0.7
我想要实现的是在命令提示符中显示的结果旁边也会显示匹配的“标签”。
回到我的例子,输入 0.5 和 0.7。我想在命令提示符下得到结果。
"Service Points Won" 0.5
"Return Points Won" 0.7
图形用户界面脚本
from Tkinter import *
fields = 'Service Points Won', 'Return Points Won'
def fetch(variables):
for variable in variables:
print "%s" % variable.get()
def makeform(root, fields):
lab1= Label(text="Stats", font="Verdana 10 bold")
form = Frame(root)
left = Frame(form)
rite = Frame(form)
lab1.pack(side=TOP)
form.pack(fill=X)
left.pack(side=LEFT)
rite.pack(side=RIGHT)
variables = []
for field in fields:
lab1= Label()
lab = Label(left, text=field)
ent = Entry(rite)
lab.pack(anchor='w')
ent.pack(fill=X)
var = StringVar()
ent.config(textvariable=var)
var.set('0.5')
variables.append(var)
return variables
if __name__ == '__main__':
root = Tk()
vars = makeform(root, fields)
Button(root, text='Fetch',
command=(lambda v=vars: fetch(v))).pack()
root.bind('<Return>', (lambda event, v=vars: fetch(v)))
root.mainloop()
有什么建议吗?
【问题讨论】:
-
variable可能比.get()有更多的方法和属性。也许其他方法或属性之一会给您该字段的名称?或者甚至str(variable)也能做到这一点? -
@Evert, str(variable) 不能解决问题。我还可以使用哪些其他方法或属性?
-
print(dir(variable))可能会显示很多选项。你可以从尝试最合乎逻辑的开始。文档也可能有所帮助。 -
您已经告诉我们您想要什么,但实际上并未提出任何问题。您需要帮助解决问题的哪一部分?
-
@Bryan,我确实问了一个问题。关于如何获取输入值标签的建议
标签: python tkinter python-2.x