Tkinter นำเสนอฟังก์ชันในตัวและเมธอดไลบรารีคลาสหลายอย่างสำหรับสร้างคอมโพเนนต์และรายการที่ผู้ใช้สามารถดำเนินการได้ของแอปพลิเคชัน filedialog เป็นหนึ่งในโมดูลของ Tkinter ที่ให้คลาสและฟังก์ชันไลบรารีสร้างหน้าต่างเลือกไฟล์/ไดเรกทอรี คุณสามารถใช้ filedialog เมื่อต้องการขอให้ผู้ใช้เรียกดูไฟล์หรือไดเรกทอรีจากระบบ
คุณยังสามารถระบุตำแหน่งของไดเรกทอรีที่ไฟล์เฉพาะควรถูกเลือกได้ เพื่อแสดง filedialog ที่เริ่มจากตำแหน่งเฉพาะ ให้ใช้อาร์กิวเมนต์ initialdir = <location> ในฟังก์ชันโรงงานส태ติก askopenfilename(initialdir=<location>) ฟังก์ชันนี้สร้างไดอะล็อกบ็อกซ์แบบโมดัลและรอการเลือกของผู้ใช้และคืนค่าของไฟล์ที่เลือกให้กับผู้เรียก
ตัวอย่าง
มาสร้างแอปพลิเคชันที่ขอให้ผู้ใช้เลือกไฟล์จากไดเรกทอรีระบบ
# นำเข้าไลบรารีที่จำเป็น
from tkinter import *
from tkinter import filedialog
from tkinter import ttk
# สร้างอินสแตนซ์หน้าต่าง Tkinter
win = Tk()
win.geometry("700x350")
# สร้างอินสแตนซ์คลาส style
style = ttk.Style(win)
def open_win_diag():
# สร้างไดอะล็อกบ็อกซ์
file = filedialog.askopenfilename(initialdir="C:/")
f = open(win.file, 'r')
# สร้าง label widget
label = Label(win, text="Click the button to browse the file", font='Arial 15 bold')
label.pack(pady=20)
# สร้างปุ่มเปิดไดอะล็อกบ็อกซ์
button = ttk.Button(win, text="Open", command=open_win_diag)
button.pack(pady=5)
win.mainloop()
ผลลัพธ์
การรันโค้ดด้านบนจะแสดงหน้าต่างที่มีสองวิджชั่น

ปุ่ม widget ทริกเกอร์ไดอะล็อกบ็อกซ์ไฟล์ ขอให้ผู้ใช้เรียกดูไฟล์จากระบบ

เราได้ระบุ "initialdir=C:/" ในฟังก์ชัน askopenfilename() ดังนั้น มันจะเปิด C Drive เป็นไดเรกทอรีเริ่มต้น