我一直在查看文档,但对于如何使用Tkinter设置变量感到困惑。
我通常只通过脚本设置变量,例如:
nb=5
path='/Users/ashleighclayton/Files
navg=24
sdthresh=25
absstepthresh=100
但是,我希望能够使用GUI设置这些值。 目前我已经构建了这个GUI,但是我很难实现这个,尽管看起来很简单。 (另请注意,在大多数情况下,它们是整数而不是字符串)
class Application(Frame):
def exc(self):
execfile('currentmethod merlin.py',{'nb':nb,'path':path, 'navg':navg, 'sdthresh':sdthresh, 'absstepthresh':absstepthresh})
def exe(self):
execfile('new method merlin.py',{'nb':nb,'path':path, 'navg':navg, 'sdthresh':sdthresh, 'absstepthresh':absstepthresh} )
numblades=IntVar()
def createWidgets(self):
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.QUIT.pack({"side": "left"})
self.CRTM = Button(self)
self.CRTM["text"] = "CRTM",
self.CRTM["command"] = self.exc
self.CRTM.pack({"side": "left"})
self.ERTM = Button(self)
self.ERTM["text"] = "ERTM",
self.ERTM["command"] = self.exe
self.ERTM.pack({"side": "left"})
# this is what I attempted, but I'm unsue how to set the input as the variable.
self.nb = Entry(self)
self.nb.pack(side = RIGHT)
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()
抱歉,我是Tkinter的新手,所以任何帮助都会非常感激,甚至只是指向相关文档。
答案 0 :(得分:0)
我通常使用textvariable配置选项和Tkinter变量,但您也可以使用insert。 http://effbot.org/tkinterbook/entry.htm
答案 1 :(得分:0)
首先为Entry
创建一个变量self.entryVar=Tkinter.Stringvar()
然后将其与您的Entry小部件
链接self.nb = Entry(self,textvariable=self.entryVar)
然后要获取Entry小部件的值,请使用
self.entryVar.get()