所以我真的不确定如何问这个问题,所以我将尝试将其分解。 python的新手,所以请耐心等待。
我正在使用OptionMenu从['无','小','中','大']的列表中进行选择。 我遇到的问题是我正在创建一个“填充栏”,其最大大小由仓库实例的大小反映出来,所以当有人在下拉菜单中更改仓库大小时,我需要更新类,以便通过下拉菜单选择更改的信息也将反映在类和tkinter小部件中。
class Warehouse:
def __init__(self):
self.size = 1
self.stock = 0
self.max_stock = self.capacity()
def capacity(self):
if self.size == 3:
return 111
elif self.size == 2:
return 42
elif self.size == 1:
return 16
elif self.size == 0:
return 0
choices = ['None', 'Small', 'Medium', 'Large']
selection = StringVar()
dropmenu = OptionMenu(parent, selection, *choices)
我正在使用Buttons来更改self.stock,并且我的工作正常,它只是在下拉菜单中更新了我傻眼的大小。
我将.place()用于几何图形,“填充栏”由仓库实例的大小和库存决定,类似于下面的示例。
example = Warehouse()
stock_bar = Frame(parent)
stock_bar.place(relwidth=1, relheight=1)
max_line = Frame(stock_bar, bg='white')
max_line.place(relwidth=1, relheight=(example.max_stock / 111))
stock_line = Frame(stock_bar, bg='green')
stock_line.place(relwidth=1, relheight=(example.stock / 111))
这是“填充栏”的基本外观(尽管倒置,因为在这种情况下为了简化示例,我没有更改“ rely”。)
基本上。
从下拉菜单中选择仓库大小
类实例更新以反映选择中的更改
更新的类信息现在在“填充栏”中显示它的更改。
我希望我已经足够清楚地解释了我的问题,并希望我有足够的信息来显示我的位置,但是阿吉安,我没有在这里测试过的代码,因为我有零线索来了解如何实现此目的。我以为也许可以在下拉菜单中选择按钮,但是我想不出来。
基本上,我很傻,不知道从这里去哪里。任何帮助将不胜感激。
我也是该论坛的新手,所以如果这里有一些不适用于这些论坛的协议,我会向您道歉,并就可怕的标点符号和其他内容向您道歉。