เมื่อผู้ใช้ต้องการเปิดไฟล์จากไดเร็กทอรี วิธีที่ต้องการคือการแสดงป๊อปอัปที่ผู้ใช้เลือกไฟล์ที่จะเปิด เช่นเดียวกับเครื่องมือและวิดเจ็ตส่วนใหญ่ Tkinter มีวิธีเปิดกล่องโต้ตอบสำหรับการเปิดไฟล์ อ่านไฟล์ และบันทึกไฟล์ ฟังก์ชันทั้งหมดนี้เป็นส่วนหนึ่งของ filedialog โมดูลในภาษาไพทอน เช่นเดียวกับวิดเจ็ตอื่น ๆ filedialog จะต้องนำเข้าอย่างชัดเจนในโน้ตบุ๊ก มีโมดูลอื่น ๆ ที่มี filedialog เช่น askdirectory, askopenfilename, askopenfile, askopenfilenames, asksaveasfilename เป็นต้น
ตัวอย่าง
ในตัวอย่างนี้ เราจะกำหนดฟังก์ชันเพื่อเปิดและอ่านไฟล์โดยใช้ askopenfilename .
เราจะกำหนดแอปพลิเคชันที่มีปุ่มสำหรับเปิดไฟล์ และจะบรรจุเนื้อหาของไฟล์ไว้ในวิดเจ็ตป้ายกำกับ ในการอ่านเนื้อหาไฟล์ เราจะใช้ read() วิธีการพร้อมกับชื่อไฟล์
#Import tkinter library from tkinter import * from tkinter import ttk from tkinter import filedialog #Create an instance of tkinter frame or window win= Tk() win.geometry("750x150") #Define a function to Opening the specific file using filedialog def open_files(): path= filedialog.askopenfilename(title="Select a file", filetypes=(("text files","*.txt"), ("all files","*.*"))) file= open(path,'r') txt= file.read() label.config(text=txt, font=('Courier 13 bold')) file.close() button.config(state=DISABLED) win.geometry("750x450") #Create an Empty Label to Read the content of the File label= Label(win,text="", font=('Courier 13 bold')) label.pack() #Create a button for opening files button=ttk.Button(win, text="Open",command=open_files) button.pack(pady=30) win.mainloop()
ผลลัพธ์
การเรียกใช้โค้ดด้านบนจะแสดงหน้าต่างที่มีปุ่ม ซึ่งเมื่อคลิกแล้ว จะเป็นการเปิดหน้าต่างใหม่เพื่อโหลดและอ่านเนื้อหาของไฟล์
คลิกปุ่ม "เปิด" เพื่อเปิดไฟล์ (ข้อความ "*") ในหน้าต่าง