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 Textgö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:

  • masterWidget'ın ana bileşenidir Text.
  • cnfWidget'ın yapılandırmasını belirten bir sözlüktür .
  • kwWidget'ı yapılandırmak için kullanılan bir veya daha fazla anahtar kelime bağımsız değişkenidir Text.

TextWidget'ın modülde değil, yalnızca Tkinter modülünde mevcut olduğunu unutmayın Tkinter.ttk.

Aşağıdaki örnek, Textsekiz 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ı:

Tkinter Text / Metin

Bu örnekte heightargü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ı:

Tkinter Text / Metin

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 Textonun 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 Textayarlayarak onu devre dışı bırakabilirsiniz :state'disabled'

text['state'] = 'disabled'Kod dili:  JavaScript  ( javascript )

stateDü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 .

ScrolledTextBunu 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 ScrolledTextaktarmanız gerekir .ScrolledTexttkinter.scrolledtext

Teknik olarak sınıf, ScrolledTextsınıftan miras alır Text.

Widget , widget'ı tutmak için kapsayıcı ile widget arasına eklenen ScrolledTextbir widget'ı kullanır .FrameTextScrollbar

Bu nedenle widget ScrolledTextile 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 ScrolledTextwidget'ı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ı:

Tkinter Text / Metin

Nasıl çalışır.

  • Öncelikle tkintermodülü ve ScrolledTextsınıfı modülden içe aktarın tkinter.scrolledtext.
  • İkinci olarak, kök pencereyi oluşturun ve başlığını olarak ayarlayın 'ScrolledText Widget'.
  • Üçüncüsü, yeni bir widget oluşturun ScrolledTextve 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 ScrolledTextbir widget oluşturmak için Tkinter widget'ını kullanın .TextScrollbar
 

Kaynak

Yorumunuzu Ekleyin


Yükleniyor...
    Yükleniyor...