出于某种原因,当我按下按钮时,正在打印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 :(得分:1)
这是因为您未使用StringVar
方法获取get()
中的值
所以将您的button()
功能更改为:
def button():
global message
print (message.get())
答案 1 :(得分:1)
替换以下行:
print(message)
with(使用StringVar对象的get
方法):
print(message.get())
否则它会打印变量本身,而不是变量的内容。