使用OptionMenu按钮更新课程?

时间:2018-09-09 01:20:47

标签: python tkinter optionmenu

所以我真的不确定如何问这个问题,所以我将尝试将其分解。 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”。)

基本上。

  1. 从下拉菜单中选择仓库大小

  2. 类实例更新以反映选择中的更改

  3. 更新的类信息现在在“填充栏”中显示它的更改。

我希望我已经足够清楚地解释了我的问题,并希望我有足够的信息来显示我的位置,但是阿吉安,我没有在这里测试过的代码,因为我有零线索来了解如何实现此目的。我以为也许可以在下拉菜单中选择按钮,但是我想不出来。

基本上,我很傻,不知道从这里去哪里。任何帮助将不胜感激。

我也是该论坛的新手,所以如果这里有一些不适用于这些论坛的协议,我会向您道歉,并就可怕的标点符号和其他内容向您道歉。

0 个答案:

没有答案