更改显示在pandastable中的数据框(tkinter小部件)

时间:2019-01-21 13:09:22

标签: python python-3.x pandas tkinter

我目前正在使用一个显示熊猫数据框的GUI。

我希望OptionMenu从列表中选择数据框,然后将其显示在pandastable中。

我当前的方法:我的班级中有一个属性curTable,最初我用第一个数据框填充了该属性,该数据框已正确显示在pandastable中。然后,当我连接到StringVar的{​​{1}}的值更改时,我将调用一个回调函数,该函数会更改属性并重绘pandastable。

OptionMenu

当我选择第二个数据框时,熊猫表不会更改。我该如何实现?

1 个答案:

答案 0 :(得分:0)

好的,我想我有解决办法:

我正在使用TableModel加载数据帧,然后使用pandastable的方法updateModel()

def tableSelChange(*args):
    df1 = pd.DataFrame([[1,2,3],['what', 'is', 'this'],[123, 123, 123]], 
                           columns=['This', 'is', 'a Test'])
    df2 = pd.DataFrame([['bruh', 'this', 'is a gui'],[1235, 1235, 1235],[123, 123, 123]], 
                            columns=['This', 'is', 'a Test2'])

    if tableSelVar.get() == 'One':
        print('ONE')
        dfTbl.updateModel(TableModel(df1))
    elif tableSelVar.get() == 'Two':
        print('Two')
        dfTbl.updateModel(TableModel(df2))
    dfTbl.redraw()