2013-12-18 45 views
2

出于某种原因,当我按下按钮py_varo正在打印,而不是在文本框中的值。任何想法为什么?为什么要打印py_varo而不是文本框中的值?

import sys 
from tkinter import* 

mygui = Tk() 
message = StringVar() 
mygui.geometry('300x300+982+0') 
mygui.title("hey everyone check out my gui") 
mylabel1 = Label(mygui, text = 'hello world',fg = 'yellow', bg = 'blue') 
mylabel1.grid(row = 0, column = 0) 
def button(): 
    global message 
    print (message) 
textbox = Entry(mygui, textvariable =message) 
textbox.grid(row = 0, column = 2) 
mybutton = Button(mygui, text = 'Pointless Button', command = button) 
mybutton.grid(row = 0,column = 1) 

mygui.mainloop() 
+0

*对于这个问题*的提问者,请接受,并收到了问题的答案回应为是什么让计算器运行例如用于[这个问题](http://stackoverflow.com/questions/20585560/我-Tkinter的图形用户界面,是隐形的换未知原因)你的,你有收到来自@falsetru一个优秀的答案,但是你既没有评论或接受....请避免你的要求和运行模式.. ..也考虑[服用游览约SO(http://stackoverflow.com/tour) –

回答

1

出现这种情况,因为你没有得到它是使用get()方法

这样做你button()功能改成这样的StringVar值:

def button(): 
    global message 
    print (message.get()) 
+0

非常感谢你。 – user3102599

+0

@ user3102599请检查该http://meta.stackexchange.com/a/5235 –

1

替换以下行:

print(message) 

与(我们Ëget的STRINGVAR对象的方法):

print(message.get()) 

否则打印变量本身,而不是可变的内容。

+0

非常感谢你。 – user3102599

相关问题