【发布时间】:2014-10-11 18:26:55
【问题描述】:
我正在开发一个允许用户选择日期和位置来访问特定文件的菜单系统。我知道每个特定文件都会有很多硬编码。我想使用 OptionMenu 系统。我正在打印值,但是如何定义这些值并将它们传递给函数以打开该特定文件。我在想一个很长的 if else 语句。 (IE if Monday && a 则传递此调用函数)。
这是我的代码
#mainmenu
class MyOptionMenu(OptionMenu):
def __init__(self, master, status, *options):
self.var = StringVar(master)
self.var.set(status)
OptionMenu.__init__(self, master, self.var, *options)
self.config(font=('calibri',(20)),bg='white',width=20)
self['menu'].config(font=('calibri',(10)),bg='white')
root = Tk()
#attemtping to assign numerical values
Monday = 1
Tuesday = 2
Wednesday = 3
Thursday = 4
Friday = 5
mymenu1 = MyOptionMenu(root, 'Select day', 'Monday','Tuesday','Wednesday', 'Thursday', 'Friday')
mymenu2 = MyOptionMenu(root, 'Select Location', 'd','e','f')
#menus come up fine and values correctly printed
def ok():
print "value is", (mymenu1.var).get(), (mymenu2.var).get()
button = Button(root, text="OK", command=ok)
button.pack()
mymenu1.pack()
mymenu2.pack()
(mymenu1.var).get()
(mymenu2.var).get()
#assign variable x to return values
x = (mymenu1.var).get()
if x <2:
print 'Negative changed to zero'
elif x == 0:
print 'Zero'
elif x == 1:
print 'Single'
else:
print 'More'
root.mainloop()
我将其作为输出 “更多的”/ “值是星期一 e”,这表明我能够访问正确的结果,但在下一步中实施该变量(星期二)时我迷失了。
【问题讨论】:
-
如果我理解正确,您想使用输入的日期和字母找到正确的文件。如何执行此操作取决于文件位置和名称。所有文件都在同一个文件夹中吗?如果不是,文件夹叫什么(这是固定的还是您可以根据需要更改它)?这些文件叫什么(你能不能再改变一下)?所有这些不同的情况可能会有不同的解决方案。
标签: python tkinter optionmenu