PYTHON ve Tkinter İle Dosya İçeriğini Gösterme Uygulaması
Bu yazıda Python'da dosya açma ve içeriğini gösterme ile ilgili örnek verilecektir. Pythonun daha rahat anlaşılabilmesi ve programın izlenebilmesi amacıyla programda bulunan kodlarda kullanılan değişkenler uzun ve anlaşılabilir olarak yazılmıştır.
Başlangıç aşaması uygulaması niteliği taşıyan bir program olam özelliği göz önüne alınarak hazırlanmıştır. Programın kaynak kodu anlaşılırlığını artırmak amacı ile uzun tanımlama şeklinde hazırlanmıştır. Program içerisinde kısmi açıklama yapılmıştır.
Program daha kısa yazılabilir olmakla birlikte anlaşılırlığını artırmak amacıyla şu an kullanılan haliyle düzenlenmiştir.
Program şöyle tasarlanmıştır. İki adet sabit ifadeli ve görevli düğme tanımlanmıştır. Birincisi Çıkış düğmesidir. Bu düğme ile programdan çıkılmaktadır. İkinci sabit görevli düğme ise, "Giriş" düğmesidir. Bu düğme program ilk açıldığındametin kutusuna gelen karşılama yazısını metin kutuna taşımaktadır.
Kullanıcı grafik arayüzü için Tkinter kullanılmıştır.
Programın kaynak kodları için "Kaynak Kodu" düğmesini tıklayınız.
"ek" kalsörü içeriğinde bulunan dosyalarda yapacağınız değişiklikler sizin düzenleme alanınızı oluşturmaktadır. "Giriş" düğmesi dışındaki bütün düğme yazıları ve metinler "ek" klasör içerini oluşturan dosyalarla değiştirilebilmektedir. Bu değişikliği yapmak için kaynak kodunu düzenlemeye ihtiyaç bulunmamaktadır. Her düğme ve metin alanının kendi dosyası bulunmaktadır.
Programa ait dosyaları indirmek için tıklayınız.
Programın Python kaynak kodları
#!/usr/bin/python # -*- coding: utf8 -*- import sys from Tkinter import * # kullanici grafik arayüzü icin Tkinter kullaniliyor def ilk(): #dosya=open(str(sys.path[0])+"/ek/giris.txt") dosya=open("./ek/giris.txt") metinler.delete(1.0, END) metinler.insert(INSERT,dosya.read()) dosya.close() def yazi1(): #dosya=open(str(sys.path[0])+"/ek/metin1.txt") dosya=open(str(sys.path[0])+"/ek/metin1.txt") metinler.delete(1.0, END) metinler.insert(INSERT,dosya.read()) dosya.close() def yazi2(): dosya=open(str(sys.path[0])+"/ek/metin2.txt") metinler.delete(1.0, END) metinler.insert(INSERT,dosya.read()) dosya.close() def yazi3(): dosya=open(str(sys.path[0])+"/ek/metin3.txt") metinler.delete(1.0, END) metinler.insert(INSERT,dosya.read()) dosya.close() def yazi4(): dosya=open(str(sys.path[0])+"/ek/metin4.txt") metinler.delete(1.0, END) metinler.insert(INSERT,dosya.read()) dosya.close() pencere=Tk() # ana pencere olusturuluyor pencere.title("Bilgi oku - mehmet.yilmaz@teknomerkez.net") pencere.geometry("600x400") # pencerenin baslangic boyutlari menuframe=Frame() #Menu icin hazirlanan frame basi menuframe.config(width=150, borderwidth=2, relief=GROOVE, bg="#a52") menuframe.pack(side=LEFT, fill=Y) # Menu icin hazirlanan frame sonu giris=Button(menuframe) # giris butonu sabit yapildi. giris.config(text="Giriş", command=ilk, width=13, height=1, font=("normal", 10), bg="#E1F2F7") giris.pack(side=TOP, padx=3, pady=3) dosya1=open(str(sys.path[0])+"/ek/dugme1.txt").read() # dugme1'in gorunen yazisi icin dosya okunuyor dugme1=Button(menuframe) # dugme1 menuframe icine olusturluyor dugme1.config(text=dosya1, command=yazi1, width=13, height=1, font=("normal", 10), bg="#E1F2F7") dugme1.pack(side=TOP, padx=3, pady=3) dosya2=open(str(sys.path[0])+"/ek/dugme2.txt").read() dugme2=Button(menuframe) dugme2.config(text=dosya2, command=yazi2, width=13, height=1, font=("normal", 10), bg="#E1F2F7") dugme2.pack(side=TOP, padx=3, pady=3) dosya3=open(str(sys.path[0])+"/ek/dugme3.txt").read() dugme3=Button(menuframe) dugme3.config(text=dosya3, command=yazi3, width=13, height=1, font=("normal", 10), bg="#E1F2F7") dugme3.pack(side=TOP, padx=3, pady=3) dosya4=open(str(sys.path[0])+"/ek/dugme4.txt").read() dugme4=Button(menuframe) dugme4.config(text=dosya4, command=yazi4, width=13, height=1, font=("normal", 10), bg="#E1F2F7") dugme4.pack(side=TOP, padx=3, pady=3) cik=Button(menuframe) # programdan cikis icin cik.config(text="Çıkış", command=sys.exit, width=13, height=1, font=("bold", 10), bg="#FFCCFF") cik.pack(side=BOTTOM, padx=3, pady=3) metinframe=Frame(borderwidth=8) # Metinler icin hazirlanan frame basi metinframe.config(bg="#004C4C") metinframe.pack(expand=YES, fill=BOTH) # Metinler icin hazirlanan frame sonu dosya=open(str(sys.path[0])+"/ek/giris.txt") # program bu dosya ile acilacak metinler=Text(metinframe) # butun metinler bu kutuda gosterilecek metinler.delete(1.0, END) metinler.insert(INSERT, dosya.read()) metinler.config(bg="white", width=5) metinler.pack(expand=YES, fill=BOTH, side=LEFT) scrollbaricin=Scrollbar(metinframe) # metin kutusuna kaydirma cubugu ekleniyor scrollbaricin.config(command=metinler.yview, bg="#009393", troughcolor="#6699FF", width=15) metinler.config(yscrollcommand=scrollbaricin.set) scrollbaricin.pack(side=RIGHT, fill=Y) pencere.mainloop() # sonsuz dongu calistiriliyor
Yorumlarınız
Bir yorum ekleyin
İzin verilen html etiketler (tag): <p><div><b><strong><i><u><del><hr><sup><sub><br>