Python Tkinter — как мне обрабатывать ввод пользователя с неопределенным временем?

#python #tkinter #user-input

#python #tkinter #пользовательский ввод

Вопрос:

Я начал с Python несколько месяцев назад, и теперь я хотел попасть в tkinter. Сейчас я нахожусь на том этапе, когда я вообще не знаю, что делать.

важны 2 исходных файла.
файл A -> все виджеты, которые отображаются в окне
файл B -> здесь представлены функции для создания в файле A, например, ярлык и команды использования

 #file A example
root = fileB.getwindow()
frame = fileB.getframe(root)
#...
#...

#file B example
def getwindow():
    root = tk.Tk()
    root.title("Hello World")
    root.geometry("720x720")
    return root

#getframe, getlabel and so on...
# ...
# ...

 

В моей программе пользователь может загрузить файл * .csv через диалоговое окно file . Проблема, с которой я сталкиваюсь, заключается в том, что пользователь загружает файл в неизвестное время.
Когда срабатывает моя команда и пользователь выбирает свой csv-файл, путь к файлу указывается только в функции.

 def filedialog():
    path = tk.filedialog.askopenfilename(title="Select File", 
                                         filetypes=(("csv files","*.csv"), ("all files", "*.*")))
 

После выбора файла *.csv должна быть создана таблица, для которой мне нужен путь. Я мог бы также поместить таблицу в функцию filedialog, но это мне не очень помогает, потому что другим виджетам нужна некоторая информация из файла * .csv.

Мне было бы достаточно общего представления о том, как действовать дальше. Я надеюсь, что смог бы предоставить достаточно информации, чтобы прояснить проблему.

Вот картинка, чтобы визуально представить программу.

Комментарии:

1. Как насчет возврата переменной path из filedialog() . В противном случае вы также могли бы сделать свои функции членами класса и сделать path их членами экземпляра ( self.path )…

2. @angelogro Спасибо за предложение. Подумав об этом некоторое время, мне все больше и больше нравится идея класса.