【发布时间】:2019-04-18 19:59:07
【问题描述】:
我在如何在 OptionMenu 的某些状态下运行某些代码时遇到问题。
from tkinter import *
class Browser(Frame):
def __init__(self, root):
self.root = root
super().__init__(self.root)
self.createUtility()
return
def createUtility(self):
self.main_frame = Frame(bg="")
self.main_frame.grid(row=0, column=0)
self.display_frame = Frame(width=50, height=50, bg="")
self.display_frame.grid(row=1, column=0)
options = ["Plants", "Wood", "Mushrooms", "Animals"]
self.variable = StringVar()
self.variable.set("Wood")
self.change_menu = OptionMenu(self.main_frame, self.variable, *options, command=self.func)
self.change_menu.grid(row=0, column=0)
self.exit_button = Button(self.display_frame, text="Quit!", command=quit)
self.exit_button.grid(row=1, column=1)
if value == "Plants":
#do some code
elif value == "Wood":
#do some code
elif value == "Mushrooms":
#do some code
elif value == "Animals":
#do some code
else:
#do some code
return
def func(self, value):
return value
#This value should be used for an if block in createUtility function
if __name__ == "__main__":
b = Browser(Tk())
mainloop()
我没有收到错误,这很好。我可以在 OptionMenu 中单击并选择选项,但没有任何反应。
【问题讨论】:
-
我没有收到错误,这很好。...这并不总是一件好事。一目了然,我看到了一些我会改变的东西。
-
是的,我现在意识到了。
标签: python-3.x function class variables tkinter