Ders-14: Tkinter Textbox Aracı

Tkinter Textbox Aracı

Tkinter Textbox Aracı, çok satırlı metin alanı için kullanılır. Tkinter Textbox Aracı çok güçlü ve esnektir ve çok çeşitli görevler için kullanılabilir. Temel amaçlardan biri, formlarda sıklıkla kullanıldığı için basit çok satırlı alanlar sağlamak olsa da, Tkinter Textbox Aracı basit metin editörleri veya hatta web tarayıcıları olarak da kullanılabilir. Ayrıca, Textbox Aracı CSS stillerini kullanarak bağlantıları, görüntüleri ve HTML’yi görüntülemek için kullanılabilir.

Örnek olarak aşağıda yüksekliği 4 satır, genişliği ise 50 karakterlik bir textbox araç örneği bulunmaktadır. INSERT ile bu textbox aracına yazılarımızı ekleyebiliyoruz.

import tkinter as tk

pencere = tk.Tk()
t1 = tk.Text(height=4, width=50)
t1.pack()
t1.insert(tk.END, "BTOGRENME ye hoşgeldiniz."
                  "\nBu dersimizde tkinter "
                  "\ntextbox aracını kullanacağız")
tk.mainloop()

Yukarıdaki örneği dikkatle incelersek, t1 isimli bir textbox aracı oluşturulmuş ve yüksekliği 4 satır genişliği ise 50 karakterdir. Hemen ardından ekran yerleşimi t1.pack( ) ile yapılmıştır. INSERT komutu ile textbox aracının içerisine yazı yazılmıştır. Aşağıdaki gibi bir ekran görüntüsü alırız.

Ders-14: Tkinter Textbox Aracı

Örnekten de anlaşılacağı gibi textbox araçları kullanıcının çok satırlı metin alanları eklemek istediği yerlerde kullanılır. Bu araç, mesajlaşma, bilgi gönderme veya bilgi görüntüleme ve diğer birçok görev gibi çok satırlı metnin gerekli olduğu çeşitli uygulamalar için kullanılabilir. Resimler ve bağlantılar gibi medya dosyalarını textbox aracına ekleyebiliriz.

Textbox Aracı Parametreler

bgarka plan rengi
fgyazı rengi
bdaracın border sınırı
height yükseklik
width genişlik
fontyazı tipi, büyüklük ve kalın,italik, altıçizgili
cursor imleç tipi
insetofftime İmlecin yanıp söndüğü milisaniye cinsinden süre kapalıdır.
insertontime imlecin yanıp sönmesinin açık olduğu milisaniye cinsinden süre.
padxyatay dolgu
padydikey dolgu
statearacın fare veya klavye hareketlerine duyarlı olup olmayacağını belirler.
reliefSUNKEN, RAISED, GROOVE and RIDGE gibi sınır tipleri
Textbox Aracı Parametreler

Textbox Aracı Metotları

index(index)Belirtilen dizini almak için.
insert(index)Belirli bir dizine bir yazı eklemek için.
see(index)Bir dizenin belirli bir dizinde görünür olup olmadığını kontrol eder.
get(startindex, endindex)belirli bir aralıktaki karakterleri almak için.
delete(startindex, endindex)belirtilen aralıktaki karakterleri siler.
Textbox Aracı Metotları

Textbox Aracı Tag Metotları

tag_delete(tagname)Belirli bir etiketi silmek için.
tag_add(tagname, startindex, endindex)belirtilen aralıktaki dizeyi etiketlemek için
tag_remove(tagname, startindex, endindex)  to remove a tag from specified range
Textbox Aracı Tag Metotları
import tkinter as tk

pencere = tk.Tk()
t1 = tk.Text(font="Arial 14 bold",bg="orange",fg="white")
t1.place(x=10, y=10, width= 400,height=300)
t1.insert(tk.END, "BTOGRENME ye hoşgeldiniz."
                  "\nBu dersimizde tkinter "
                  "\ntextbox aracını kullanacağız")
tk.mainloop()

Yukarıdaki örnekte font, bg, fg gibi parametreler kullanılmıştır.Oluşturduğumuz bu textbox’ ın arkaplanı turuncu, yazı rengi ise beyazdır. Aşağıda ekran çıktısı yer almaktadır.

Tkintet Text Insert, Get Metotları

Bu örnekte textbox aracına yazı ekleme ve bu eklediğimiz yazıyı bir düğmeye basılınca başka bir araca aktarmayı göreceğiz. Aşağıdaki kodları inceleyiniz.

import tkinter as tk
pencere=tk.Tk()
pencere.title("Text Box İşlemleri")
pencere.geometry("700x450")

def metin_gonder():
    metin = t1.get(1.0,tk.END)
    e1.config(text=metin)

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

t1.insert(tk.END, "Btöğrenme.com\nBu dersimizde GET ve INSERT\nmetotlarını deneyeceğiz.")

e1=tk.Label(text="----",font="Arail 13 italic",fg="blue")
e1.place(x=450,y=10)
b1=tk.Button(text="GÖNDER",font="Times 13 bold",bg="black",fg="white",command=metin_gonder)
b1.place(x=10, y=350)

pencere.mainloop()

İlk olarak t1 isimli bir textbox aracı ekledik. Bu aracın arka plan rengi kahverengi yazı rengi ise beyazdır. Hemen ardından t1.insert ile oluşturduğumuz textbox aracına bir metin ekliyoruz. Parantez içerisindeki tk.END ifadesi ekleyeceğimiz yazının başlangıç noktasıdır. Eğer öncesinden textbox aracında yazı varsa sonuna ekleme yapacaktır.

Şimdi gelelim GET metoduna. Ağağıda b1 isimli butona dikkatlice bakarsanız; command=metin_gonder dikkatinizi çekecektir. Bunun anlamı butona tıklandığında metin_gonder fonksiyonunun çalışmasıdır. Üst bölümde def ile oluşturulmuş bir metin_gonder fonksiyonu oluşturulduğunu göreceksiniz. Kullanıcı bu butona tıkladığı takdirde bu fonksiyon çalışacaktır. Eğer butona tıklamazsa bu fonksiyon içerisindeki kodlar hiçbir zaman çalışmayacaktır. Şimdi metin_gonder fonksiyonun içerisini inceleyelim.

def metin_gonder():
    metin = t1.get(1.0,tk.END)
    e1.config(text=metin)

metin = t1.get(1.0,tk.END) ile t1 isimli textbox aracındaki yazılar metin isimli değişkene aktarılmaktadır. Parantez içerisindeki değerlerin anlamı; 1.0 başından başla tk.END ise sonuna kadar yani tüm yazıyı almaktadır.

Hemen ardında e1 isimli etiketin config ile text parametresi metin değişkenine eşitlenmektedir. Yani butona basıldığında textbox aracının içerisindeki yazılar etikette görünecektir. Aşağıda ekran resmini görebilirsiniz.

Bir Txt dosyasını TextBox Aracında Göstermek

Bu örneğimizde C sürücüsünde bulunan btogrenme.txt dosyasının içeriğini tkinter textbox aracının içerisine taşıyacağız. Aşağıdaki kodları dikkatlice inceleyiniz.

import tkinter as tk
pencere=tk.Tk()
pencere.title("Text Box İşlemleri")
pencere.geometry("700x450")

t1=tk.Text(font="Arial 12 bold",bg="brown",fg="white")
t1.place(x=10,y=10,width=400,height=300)
dosya = open ("c:/btogrenme.txt","r")
dosya_icerik = dosya.read()
t1.insert(tk.END, dosya_icerik)

pencere.mainloop()

Öncelikle t1 isimli bir textbox oluşturduk. Daha sonra python derslerimizden Temel Dosya İşlemleri isimli derstende hatırlayacağınız üzere open ve read fonksiyonları ile c sürücüsündeki btogrenme.txt dosyasını okuyoruz ve dosya_icerik isimli bir değişkene kaydediyoruz.

t1.insert(tk.END, dosya_icerik) ile okuduğumuz içeriği t1 isimli textbox aracına ekliyoruz. Aşağıda ekran görüntüsü yer almaktadır.

You may also like...

Bir cevap yazın

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