【发布时间】:2019-03-13 12:04:26
【问题描述】:
我正在开发用于将数据插入数据库的 GUI。我需要创建一个下拉列表(组合框),它将根据在另一个下拉列表中选择的值更改其值。
我尝试使用 if 语句从第一个 OptionMenu 到基于 StringVar 的所选值,但它不起作用。 你有什么建议吗?
Type =('Option1', 'Option2', 'Option3')
CategoryA = ('1','2', '3')
CategoryB= ('A','Transport')
TypeSelected = StringVar()
TypeSelected.set(Type[0])
TypeOption = OptionMenu(self,TypeSelected,*Type)
TypeOption.grid(row=1, column=1)
CategoryLabel = Label(self,text='Category')
CategoryLabel.grid(row=2, column=0)
CategorySelected = StringVar()
print(str(TypeSelected))
if(str(TypeSelected)=='Przychody'):
CategorySelected.set(CategoryPrzychody[0])
category = CategoryPrzychody
else:
CategorySelected.set(CategoryRozchody[0])
category = CategoryRozchody
CategoryOption = OptionMenu(self,CategorySelected,*category)
CategoryOption.grid(row=2,column=1)
【问题讨论】:
-
这段代码是在你调用的函数中还是只是在mainloop之前的程序开始处运行?
-
它在一个函数下,但我两种方式都试过了
标签: python tkinter optionmenu