1
这是我的第一个Python个人项目。我想用Tkinter创建一个窗口(GUARDIAN LOCATOR),要求用户在输入框中输入一个值(输入水手监护人)。程序的其余部分取决于用户在输入框中输入的内容,因为我将对输入的水手监护人做出反应的if/else语句。Tkinter商店输入框值作为其他文件的值
我遇到的问题是将在输入框中输入的内容存储为我的主文件中用于if/else语句的变量。我可以将值打印到提示窗口,但我无法将其成功存储到全局变量。
我的Tkinter窗口在它自己的类中。
我已经尝试了许多不同的方法来做这个基于类似的问题从stackoverflow,但我每次都收到错误。这是我的基本代码,仍然产生错误。
类文件与Tkinter的窗口
class GuardianLocator:
def __init__(self, master):
frame = Frame(master)
frame.grid()
master.title("GUARDIAN LOCATOR")
self.locator_label = Label(frame, text="Which Sailor Guardian are you looking for?", width=40, height=2)
self.locator_label.grid()
self.entry = Entry(frame)
self.entry.grid()
self.button1 = Button(frame, text="Search", command=self.guardian_name, pady=2)
self.button1.grid()
def guardian_name(self):
print(self.entry.get())
和我的主要工作文件
root = Tk()
locator = guardian_locator.GuardianLocator(root)
root.mainloop()
这是我的测试循环,看看它的工作。
if locator.guardian_input() is "Sailor Moon":
print("hi")
else:
print("no")
Omgosh工作!我早些时候尝试过一种非常类似的方法,但是我一定会以某种方式搞砸它。谢谢Marcin! – djohnson129 2014-12-03 06:38:05
@ djohnson129如果anwser很好,那么接受它也会很好:-) – Marcin 2014-12-03 06:52:27
如果你的意思是点击对号,我就是这么做的。我还不知道:/ – djohnson129 2014-12-03 21:18:59