使用Python Tkinter GUI-PY_VAR21错误的DataFrame的多个动态OptionMenu

时间:2016-08-31 13:59:25

标签: python python-2.7 tkinter

我一直在努力过滤DataFrame行,以便我可以按顺序在OptionMenus中选择的不同选项到达单行。 我确实尝试从OptionMenu存储选定的变量,当我打印它时,我得到了

'PY_VAR21'

作为输出。

你能否澄清我。我附上我的数据文件,我愿意拥有多个动态OptionMenus,其中选定的值会进一步传递给另一个类。

from Tkinter import *
master = Tk()
class MyClass():

    def __init__(self):

        self.zero=data.Category.unique()     
        self.variable0=StringVar()        
        option_menu=OptionMenu(master,self.variable0,*self.zero)        
        option_menu.pack()        

x=MyClass()
aa=x.variable0
print aa
mainloop()

我在每列中都有数千个值和类别,因此我想使用可用的DataFrame自动化Dynamic OptionMenu。

我一直在尝试不同的方法而且失败了很多天。谢谢。Datafile

2 个答案:

答案 0 :(得分:3)

当您看到PY_VAR21时,它就是变量的实例。但是如果你说:

print self.variable0.get()

你应该看到变量的实际值。

答案 1 :(得分:0)

请参阅下面的内容,以便在循环结束后在类外部打印变量。

from Tkinter import *

class GUI():


    def __init__(self, master):
        self.variable0 = StringVar()
        self.variable0.set('Option1')
        self.option = OptionMenu(master, self.variable0, 'Option1', 'Option2', 'Option3')
        self.option.pack()

        self.close = Button(master, text='Close', command=master.quit)
        self.close.pack(side=BOTTOM)

root = Tk()
x = GUI(root)
root.mainloop()

var = x.variable0
print var.get()