我正在尝试从Entry小部件中获取String并将其存储到变量中。我在tkinter中使用了一个菜单项来执行此操作我尝试了许多不同的东西,但仍然无法使其工作。这是我的第一个python程序。
from tkinter import *
class application(Frame):
""" A Gui application with three buttons"""
def __init__(self, master = None):
""" Inititalization the fram"""
Frame.__init__(self,master)
self.master = master
#self.grid()
self.create_widgets()
def create_widgets(self):
self.master.title("My GUI")
self.pack(fill=BOTH, expand=1)
buttons1 = Button(self,text = "this wroks", command= self.program_button)
buttons1.place(x=250,y=250)
#self.buttons1.place(x=5, y=10)
menu = Menu(self.master)
self.master.config(menu=menu)
test = StringVar()
eBox = Entry(self, textvariable=test)
#eBox.pack()
eBox.grid()
file = Menu(menu)
file.add_command(label='Save', command=self.text_capture)
file.add_command(label='Exit', command=self.program_exit)
menu.add_cascade(label='File', menu=file)
def program_button(self):
exit()
def program_exit(self):
exit()
def text_capture(test):
#test = StringVar()
mtext = test.get()
print(test) # this prints py_Var1 ???
print(mtext)
print(test.get())
root = Tk()
root.geometry("500x500")
app = application(root)
root.mainloop()
答案 0 :(得分:0)
我已经更改了一些代码,但总的来说,你非常接近你想要的结束代码。我改变的位如下:
//draw carousel here
using Timer every tick move the images left slightly
到
test = StringVar()
eBox = Entry(self, textvariable=test)
和
self.test = StringVar()
eBox = Entry(self, textvariable=self.test)
到
def text_capture(test):
mtext = test.get()
print(test)
print(mtext)
print(test.get())
完整的工作代码如下:
def text_capture(self):
mtext = self.test.get()
print(self.test)
print(mtext)
print(self.test.get())