2013-12-18 71 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

相關問題