Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะระบุพา ธ ของไฟล์ใน tkinter filedialog ได้อย่างไร?


Tkinter นำเสนอฟังก์ชันในตัวและวิธีการไลบรารีคลาสต่างๆ เพื่อสร้างส่วนประกอบและรายการที่ผู้ใช้ดำเนินการได้ของแอปพลิเคชัน กล่องโต้ตอบ เป็นหนึ่งในโมดูล tkinter ที่มีฟังก์ชันคลาสและไลบรารีเพื่อสร้างหน้าต่างการเลือกไฟล์/ไดเร็กทอรี คุณสามารถใช้ filedialog ซึ่งคุณต้องขอให้ผู้ใช้เรียกดูไฟล์หรือไดเร็กทอรีจากระบบ

คุณยังสามารถระบุตำแหน่งของไดเร็กทอรีจากตำแหน่งที่ควรเลือกไฟล์ใดไฟล์หนึ่ง หากต้องการแสดง filedialog ที่เริ่มต้นจากตำแหน่งเฉพาะ ให้ใช้ initialdir = อาร์กิวเมนต์ในฟังก์ชันโรงงานคงที่ askopenfilename(initialdir=) . ฟังก์ชันนี้จะสร้างไดอะล็อกบ็อกซ์แบบโมดอลและรอการเลือกของผู้ใช้และคืนค่าของไฟล์ที่เลือกไปยังผู้โทร

ตัวอย่าง

ให้เราสร้างแอปพลิเคชันที่ขอให้ผู้ใช้เลือกไฟล์จากไดเรกทอรีระบบ

# Import required libraries
from tkinter import *
from tkinter import filedialog
from tkinter import ttk

# Create an instance of tkinter window
win = Tk()
win.geometry("700x350")

# Create an instance of style class
style=ttk.Style(win)

def open_win_diag():
   # Create a dialog box
   file=filedialog.askopenfilename(initialdir="C:/")
   f=open(win.file, 'r')

# Create a label widget
label=Label(win, text= "Click the button to browse the file", font='Arial 15 bold')
label.pack(pady= 20)

# Create a button to open the dialog box
button=ttk.Button(win, text="Open", command=open_win_diag)
button.pack(pady=5)

win.mainloop()

ผลลัพธ์

การเรียกใช้โค้ดด้านบนจะแสดงหน้าต่างที่มีวิดเจ็ตสองตัว

จะระบุพา ธ ของไฟล์ใน tkinter filedialog ได้อย่างไร?

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

จะระบุพา ธ ของไฟล์ใน tkinter filedialog ได้อย่างไร?

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