如何在python Tkinter中为用户输入的变量赋值?

时间:2017-07-06 14:49:59

标签: python-3.x tkinter

from tkinter import *
from tkinter.messagebox import *

def userinput():
    v=StringVar()
    a=input(v.get)
    return(a)

sub = Tk()

Label(sub, text = "Your name :").grid(row=0)

num1 = Entry(sub)
num1.grid(row=0,column=1)

name2=userinput()

Button(sub, text="Proceed", command=sub.destroy).grid(row=1,column=3)


mainloop()
print name2

当我运行此代码时,我在shell中获得以下内容:

(绑定方法StringVar.get of(tkinter.StringVar对象位于0x02E48D30))

1 个答案:

答案 0 :(得分:0)

我对你要做的事情有一个模糊的概念。首先,不要将input方法与GUI一起使用。使用GUI。以下是你如何能够转换你至少要做的事情。要操作它,请在输入字段中键入名称,然后按Return键。

from tkinter import *
import sys


def userinput(*args):
    print(v.get())

sub = Tk()
v = StringVar()

Label(sub, text = "Your name :").grid(row=0)

num1 = Entry(sub, textvariable=v)
num1.grid(row=0,column=1)
num1.bind("<KeyPress-Return>", userinput)

userinput()

Button(sub, text="Proceed", command=sys.exit).grid(row=1,column=3)

sub.mainloop()