Tkinter Text / Metin
Bu eğitimde, uygulamanıza bir metin düzenleyici eklemek için Tkinter Text widget'ını nasıl kullanacağınızı öğreneceksiniz. Ayrıca bu eğitimde, bir Metin widget'ı ve dikey Kaydırma Çubuğu widget'ından oluşan Tkinter widget'ını nasıl kullanacağınızı öğreneceksiniz .
Tkinter Metin widget'ına giriş
Widget Text
, çok satırlı metin alanını çeşitli stillerle görüntülemenize ve düzenlemenize olanak tanır. Widget , düz metnin yanı sıra Text
gömülü görselleri ve bağlantıları da destekler.
Bir metin widget'ı oluşturmak için aşağıdaki sözdizimini kullanırsınız:
text = tk.Text(master, conf={}, **kw)
Bu sözdiziminde:
master
Widget'ın ana bileşenidirText
.cnf
Widget'ın yapılandırmasını belirten bir sözlüktür .kw
Widget'ı yapılandırmak için kullanılan bir veya daha fazla anahtar kelime bağımsız değişkenidirText
.
Text
Widget'ın modülde değil, yalnızca Tkinter modülünde mevcut olduğunu unutmayın Tkinter.ttk
.
Aşağıdaki örnek, Text
sekiz satırlı bir widget oluşturur ve onu kök pencereye yerleştirir:
from tkinter import Tk, Text
root = Tk()
root.resizable(False, False)
root.title("Text Widget Example")
text = Text(root, height=8)
text.pack()
root.mainloop()
Kod dili: JavaScript ( javascript )
Çıktı:

Bu örnekte height
argüman, widget'ın satır sayısını belirtir Text
.
Başlangıç ??içeriğinin eklenmesi
Metin alanına içerik eklemek için yöntemi kullanırsınız insert()
. Örneğin:
from tkinter import Tk, Text
root = Tk()
root.resizable(False, False)
root.title("Text Widget Example")
text = Text(root, height=8)
text.pack()
text.insert('1.0', 'This is a Text widget demo')
root.mainloop()
Kod dili: JavaScript ( javascript )
Çıktı:

Yöntemin ilk argümanı insert()
metni eklemek istediğiniz konumdur.
Pozisyon aşağıdaki formata sahiptir:
'line.column'
Kod dili: JavaScript ( javascript )
Yukarıdaki örnekte '1.0', metin alanındaki ilk satırın ilk karakteri olan satır 1, karakter 0 anlamına gelir.
Metin değerini alma
Bir widget'ın içeriğini almak için Text
onun yöntemini kullanırsınız get()
. Örneğin:
text_content = text.get('1.0','end')
Kod dili: JavaScript ( javascript )
Yöntem get()
iki argümanı kabul eder. İlk argüman başlangıç ??konumu, ikincisi ise bitiş konumudur.
Metnin yalnızca bir kısmını almak için farklı başlangıç ??ve bitiş konumları belirleyebilirsiniz.
Metin widget'ını devre dışı bırakma
Kullanıcıların bir widget'in içeriğini değiştirmesini önlemek için seçeneği şu şekilde Text
ayarlayarak onu devre dışı bırakabilirsiniz :state
'disabled'
text['state'] = 'disabled'
Kod dili: JavaScript ( javascript )
state
Düzenlemeyi yeniden etkinleştirmek için seçeneği tekrar şu şekilde değiştirebilirsiniz normal
:
text['state'] = 'normal'
Kod dili: JavaScript ( javascript )
Özet
Text
Çok satırlı bir metin alanı oluşturmak için Tkinter widget'ını kullanın .
Tkinter Kaydırılmış Metin
Tkinter ScrolledText widget'ına giriş
Şu ana kadar bir Metin widget'inin nasıl oluşturulacağını ve dikey Kaydırma Çubuğunu metin widget'ına nasıl bağlayacağınızı öğrendiniz .
ScrolledText
Bunu daha kullanışlı hale getirmek için Tkinter size dikey kaydırma çubuğuna bağlı bir metin widget'ıyla aynı şeyleri yapan widget'ı sağlar .
Widget'ı kullanmak için sınıfı modülden içe ScrolledText
aktarmanız gerekir .ScrolledText
tkinter.scrolledtext
Teknik olarak sınıf, ScrolledText
sınıftan miras alır Text
.
Widget , widget'ı tutmak için kapsayıcı ile widget arasına eklenen ScrolledText
bir widget'ı kullanır .Frame
Text
Scrollbar
Bu nedenle widget ScrolledText
ile aynı özelliklere ve yöntemlere sahiptir Text
. Ayrıca pack , grid ve place dahil olmak üzere geometri yöneticisi yöntemleri Frame
.
Tkinter ScrolledText widget örneği
Aşağıdaki program, bir ScrolledText
widget'ın nasıl oluşturulacağını göstermektedir:
import tkinter as tk
from tkinter.scrolledtext import ScrolledText
root = tk.Tk()
root.title("ScrolledText Widget")
st = ScrolledText(root, width=50, height=10)
st.pack(fill=tk.BOTH, side=tk.LEFT, expand=True)
root.mainloop()
Kod dili: JavaScript ( javascript )
Çıktı:

Nasıl çalışır.
- Öncelikle
tkinter
modülü veScrolledText
sınıfı modülden içe aktarıntkinter.scrolledtext
. - İkinci olarak, kök pencereyi oluşturun ve başlığını olarak ayarlayın
'ScrolledText Widget'
. - Üçüncüsü, yeni bir widget oluşturun
ScrolledText
ve onu kök pencerede görüntüleyin. - Son olarak ana döngüyü başlatın.
İşte aynı program ama nesne yönelimli programlama yaklaşımı kullanılarak yazılmış:
import tkinter as tk
from tkinter.scrolledtext import ScrolledText
class App(tk.Tk):
def __init__(self):
super().__init__()
self.title("ScrolledText Widget")
st = ScrolledText(self, width=50, height=10)
st.pack(fill=tk.BOTH, side=tk.LEFT, expand=True)
if __name__ == "__main__":
app = App()
app.mainloop()
Kod dili: Python ( python )
Özet
- Dikey
ScrolledText
bir widget oluşturmak için Tkinter widget'ını kullanın .Text
Scrollbar
Kaynak