Эффективный файловый браузер с использованием python - PullRequest
0 голосов
/ 16 марта 2020

Я хочу создать эффективный файловый браузер, в котором я собираюсь открыть только 4 указанных c типа файлов, это происходит, но проблема в том, что я хочу, чтобы в диалоговом окне файлов только эти типы файлов появляются, так что выбор становится легче, но теперь происходит то, что все остальные папки также появляются, но я хочу, чтобы в диалоговом окне файлов отображались только те файлы, которые я хочу открыть. Как это сделать ??

import tkinter as tk
import os
from tkinter import filedialog
window=tk.Tk()
apps=[]

def file_browser():

    for widget in frame.winfo_children():
        widget.destroy()

    filename=filedialog.askopenfilename(initialdir="/",title="Select File",
                                        filetypes=(("presentations","*.pptx"),("Word Files","*.docx"),("All PDFs","*.pdf"),
                                                   ("All text files","*.txt")))
    apps.append(filename)
    for app in apps:
        label=tk.Label(frame,text=app,bg="yellow",fg="red")
        label.pack()

def run_apps():
    for app in apps:
        os.startfile(app)

window.title("Document Finder")
canvas=tk.Canvas(window,height=500,width=500,bg="#263D42")
canvas.pack()
frame=tk.Frame(window,bg="white")
frame.place(relwidth=0.8,relheight=0.8,relx=0.1,rely=0.1)

btn1=tk.Button(window,text="Open File", padx=10, pady=5,
               fg="white",bg="#263D42",command = file_browser)
btn1.pack()

btn2=tk.Button(window,text="Run File", padx=10, pady=5,
               fg="white",bg="#263D42",command=run_apps)
btn2.pack()

window.mainloop()

1 Ответ

0 голосов
/ 16 марта 2020

Когда вы открываете диалоговое окно файла, отображаются только те типы файлов, которые указаны do . Windows File Explorer покажет вам все папки, но как только вы откроете папку, появятся только файлы указанных типов.

Вы делаете это правильно, когда вы открываете все папки появляются только те типы файлов, которые указаны.

...