Python 3.6 - Создать выпадающий список для выбора файлов в папке - PullRequest
0 голосов
/ 21 февраля 2020

Проще говоря, я хочу, чтобы GUI использовал Tkinter, чтобы открыть раскрывающееся окно фильтра с 30+ CSV-файлами, чтобы я мог выбрать один из них и выполнить после него дальнейшие действия. Порядок обработки - Открыть каталог -> Создать выпадающий список выбора -> Выбрать файл -> Python выбирает файл для дальнейшей обработки. До сих пор я пытался смешать функции Tkinter и os, но безуспешно.

import tkinter as tkr
import select
import sys
import os
#Basic idea of code with Os

print(' <select name="name">')
os.chdir("C:/Users/name/Desktop/folder")
for files in os.listdir("."):
    if files.endswith(".csv"):
        print('<option value="C:/users/'+files+'">'+files.replace('.csv','')+'</option>')    

#Understanding of Tkinter so far
master = tkr.Tk()
master.geometry("800x1200")
master.title("Select a File")

Я знаю, что мне нужно найти способ установить каждый CSV-файл как переменную и затем присвоить им значения чтобы Tkinter узнал и сформировал список, но я понятия не имею, как это сделать.

Спасибо.

1 Ответ

0 голосов
/ 21 февраля 2020

Вы можете использовать ttk.Combobox в качестве выпадающего списка:

import os
import tkinter as tk
from tkinter import ttk

folder = 'C:/Users/name/Desktop/folder'
filelist = [fname for fname in os.listdir(folder) if fname.endswith('.csv')]

master = tk.Tk()
master.geometry('1200x800')
master.title('Select a file')

optmenu = ttk.Combobox(master, values=filelist, state='readonly')
optmenu.pack(fill='x')

master.mainloop()
...