Обновление tk.OptionMenu динамически

Здесь у меня есть простой графический интерфейс, где пользователь может выбрать файл.csv. Фрейм данных создается из этого файла, а список создается из индекса этого фрейма данных.

Существует tk.OptionMenu, который я хотел бы отобразить индекс, но я не могу получить tk.OptionMenu для обновления после выбора файла. Как я могу заставить это работать?

Мне известно о label.config() для использования с меткой, но я не думаю, что он применим к OptionMenus.

import pandas as pd
import tkinter as tk
from tkinter import filedialog

class GUI(tk.Tk):
    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)
        tk.Tk.wm_title(self, "Big Data")

        container = tk.Frame(self)
        container.pack(side="top", fill="both", expand = True)
        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)


        ftypes = [
                ('CSV files','*.csv')
        ]

        options=('',)

        def browsefunc():
            filename = tk.filedialog.askopenfilename(filetypes=ftypes)

            df = pd.read_csv(filename)
            options = df.dtypes.index

            pathlabel.config(text=filename)



            print(filename)
            return options


        browsebutton = tk.Button(self, text="Browse", command=browsefunc, height=1, width=10)
        browsebutton.pack()

        pathlabel = tk.Label(self)
        pathlabel.pack()

        var = tk.StringVar(self)        
        var.set('Columns')

        index_menu = tk.OptionMenu(self, var, *options)
        index_menu.pack()


app = GUI()
app.mainloop()

0 ответов

Другие вопросы по тегам