有人问过类似的问题,但没有一个解决我的脚本构造的特定方式:
from Tkinter import *
from ttk import *
class Gui(Frame):
def __init__(self, parent):
Frame.__init__(self, parent) #Gui inherits from built in Frame Class
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Shoes Ware")
self.pack(fill=BOTH, expand=1)
run_val = Entry(self)
run_val["width"] = 5
run_val.place(x=80, y=40)
quit_B = Button(self, text="Submit", command=self.submit)
quit_B.place(x=130, y=170)
def submit(self):
value = run_val.get()
print value
self.quit()
def main():
root = Tk()
root.geometry("300x200+50+50")
app = Gui(root)
root.mainloop()
if __name__ == '__main__':
main()
当我点击提交按钮时,我收到“NameError: global name 'run_val' is not defined”。我在这里做错了什么。现在打印语句只是为了检查我的工作。稍后,我将在程序中使用该值。
您没有在 initUI
中存储对 Entry 小部件的引用。
def initUI(self):
# ...
self.run_val = Entry(self)
self.run_val["width"] = 5
self.run_val.place(x=80, y=40)
然后您可以毫无问题地检索 self.run_val.get()
的值。
我是一名优秀的程序员,十分优秀!