Ders-14.1: Tkinter Browse (Dosya Seç) Örneği

Tkinter Browse (Dosya Seç) Örneği

Tkinter Browse (Dosya Seç) Örneği: bu örneğimizde kullanıcı bilgisayarından seçeceği bir txt yada log dosyasının içeriğini textbox aracına taşıyacak. Bunun için bir düğme ve bu düğmeye bir görev vermemiz gerekiyor. Vereceğimiz bu görev FILEDIYALOG penceresini aktif edecek ve çalıştıracaktır.

Bunun için öncelikle tkinter filediyalog modülünü import etmemiz gerekmektedir.

from tkinter import filedialog

komutu ile filedialog import edilmesi gerekmektedir.

Bu örneğimizde aşağıdaki ekran görüntüsünü elde etmeye çalışacağız.

Tkinter Browse Düğmesi

Dosya Seç düğmesine bastığımızda filedialog penceresi açılacak ve bizden bir dosya seçmemiz istenecektir. Diğer düğme ise textbox aracında seçim yaptıktan sonra yaptığımız seçimi almaya yarayacak.

Öncelikle aşağıdaki kodları dikkatlice inceleyelim.

import tkinter as tk
from tkinter import filedialog
pencere=tk.Tk()
pencere.title("Text Box İşlemleri")
pencere.geometry("800x600")

def dosya_sec():
    dosya_yolu = tk.filedialog.askopenfilename()
    dosya=open(dosya_yolu,"r")
    dosya_icerik = dosya.read()
    t1.delete(1.0,tk.END)
    t1.insert(tk.END,dosya_icerik)
def yazi_sec():
    secim = t1.selection_get()
    e1.config(text=secim)

t1=tk.Text(font="Arial 12 bold",bg="brown",fg="white")
t1.place(x=10,y=10)

b1=tk.Button(text="Dosya Seç",font="Arial 14 bold",bg="black",fg="white",command=dosya_sec)
b1.place(x=10,y=500)
b2=tk.Button(text="Yazı Seç",font="Arial 14 bold",bg="black",fg="white",command=yazi_sec)
b2.place(x=200,y=500)

e1=tk.Label(text="----")
e1.place(x=300,y=500)
pencere.mainloop()

b1 isimli buton yani Dosya Seç butonuna basılınca bizi “dosya_sec” isimli fonksiyona yönlendirmektedir. Bu fonksiyon yukarıda tanımlanmıştır. dosya_yolu = tk.filedialog.askopenfilename( ) ile filedialog modülündeki askopenfilename fonksiyonu sayesinde dosya seçim penceresi açılır ve kullanıcı dosya seçebilir. Kullanıcının seçtiği bu dosyanın tam yolu dosya_yolu adlı değişkene kaydolur. Elimizde dosya yolu olduğuna göre artık bu dosyayı okuyabiliriz. Python Derslerinde 14. ders olan Temel Dosya İşlemleri dersinde bu konu detaylıca anlatılmıştır.

  dosya=open(dosya_yolu,"r")
  dosya_icerik = dosya.read()

open fonksiyonu ile kullanıcının seçtiği dosya “r” yani okuma kipinde açılmış ve hemen ardından dosya.read( ) ile içerik okunmuştur. Okunan içerik dosya_icerik değişkeninde saklanmaktadır. Artık tek yapılması gereken bu içeriğin t1 isimli textbox aracına insert edilmesidir.

b2 isimli düğme ise Yazı Seç isimli düğme ve basılınca yazi_sec isimli fonksiyon çalışacaktır. Bu düğmedeki amaç SELECTION_GET fonksiyonun öğrenmektir. Yazılı metindeki seçtiğimi kısmı bu fonksiyon ile elde ederiz.

Tkinter Textbox Selection Get

Seçili olanı alma anlamış taşımaktadır. Büyük bir metinden sadece seçtiğimiz kısmı almamıza olanak sağlar. b2 butonuna tıkladığımızda yazi_sec isimli fonksiyon çalışacaktır. Şimdi bu fonksiyonun içeriğine bakalım.

def yazi_sec():
    secim = t1.selection_get()
    e1.config(text=secim)

t1.selection_get( ) ile kullanıcının fare ile seçtiği kısım yani seçili kısım alınır ve secim isimli değişkene aktarılır. Bu değişkendeki bilgiler hemen ardından e1 isimli etikette görüntülenir. e1.config diyerek text parametresini secim isimli değişkene eşitleriz.

Programın son halinin ekran görüntüsü aşağıdaki gibi olacaktır.

Ders-14.1: Tkinter Browse (Dosya Seç) Örneği

You may also like...

Bir cevap yazın

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