"Enter"a basıp içeriğe geçin

Python tkFileDialog Kütüphanesi

Python ile grafik arayüz tasarımlarında Tkinter gömülü geldiği için tercih oranının biraz daha fazla olduğunu söylemiştik. Prototip çalışmalarda kullanılsa bile bazen bazı ihtiyaçları olabiliyor, bu yazıda Tkinter kullanarak dizin seçme, dosya seçme ve dosya kaydetme işlemlerini yapacağız. Bu işlemleri yapabilmek için ise ihtiyacımız olan ek kütüphane ise tkFileDialog kütüphanesi olacak.

Tkinter ile Dosya Açma (Open File)

from tkinter import filedialog
from tkinter import *
 
root = Tk()
root.filename =  filedialog.askopenfilename(initialdir = "/", title = "Dosya Seç", filetypes = (("jpeg files","*.jpg"),("all files","*.*")))
print (root.filename)

Dosya seçme daha doğrusu seçilecek dosyanın tam yolunu belirlemek için gerekli olan fonksiyon askopenfilename fonksiyonudur. Parametrelerine değinecek olursak eğer;

initialdir: Varsayılan olarak hangi dizin içerisinde başlayacağını belirtir, kök dizin olarak “/” belirttik.
title: Açılacak pencerenin ismi.
filetypes: Hangi dosya uzantılarının seçilebileceğini belirtir.

Tkinter ile Dosya Kaydetme (Save File)

from tkinter import filedialog
from tkinter import *
 
root = Tk()
root.filename =  filedialog.asksaveasfilename(initialdir = "/", title = "Dosya Seç", filetypes = (("jpeg files","*.jpg"),("all files","*.*")))
print (root.filename)

Kaydedilecek dosyanın ismini ve dizinini belirlemek için kullanılan fonksiyon asksavefilenamedir. Parametreler bir önceki fonksiyonun parametreleri ile aynı olduğu için tekrar belirtmeyeceğim.

Tkinter ile Dizin Seçimi (Select Directory)

from tkinter import filedialog
from tkinter import *

root = Tk()
root.filename =  filedialog.askdirectory(initialdir = "/", title = "Dizin Seç")
print (root.filename)

Dizin seçmek için kullandığımız fonksiyon ise askdirectory fonksiyonu. Diğerlerinden farklı olarak dosya tipini içerek parametreyi almıyor.

Linux ortamında diyalog formlarının görüntüsü biraz daha kötü olduğu için Windows sistemden örnekleri verdim, ama aynen Linux sistemlerde de kullanabilirsiniz.

2 Yorum

  1. Davut Selami Ōzkahraman
    Davut Selami Ōzkahraman 28 Mart 2018

    Bana bir harf ōgretenin 40 yıl kölesi olurum. Paylaşım için teşekkürler.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.