Tkinter Veri Girişi / Tkinter Entry
Bu eğitimde, bir metin kutusu oluşturmak için Tkinter Entry widget'ını nasıl kullanacağınızı öğreneceksiniz.
Tkinter Giriş widget'ına giriş
Widget Entry
tek satırlık bir metin girmenizi sağlar. Tkinter'da bir metin kutusu oluşturmak için widget'ı kullanırsınız Entry
:
textbox = ttk.Entry(container, **options)
Kod dili: Python ( python )
Bu sözdiziminde:
- Ana çerçeve veya
container
penceredir . _ Widget'ı yerleştirmek istediğiniz yer. options
Widget'ı yapılandırmak için kullanılan bir veya daha fazla anahtar kelime bağımsız değişkenidirEntry
.
Çok satırlı metin girmek istiyorsanız widget'ı kullanmanız gerektiğini unutmayın Text
.
Bir widget'ın geçerli metnini Entry
dize olarak almak için şu yöntemi kullanırsınız get()
:
textbox.get()
Kod dili: Python ( python )
Genellikle metin kutusunun geçerli değerini aşağıdaki gibi bir StringVar nesnesiyle ilişkilendirirsiniz:
text = tk.StringVar()
textbox = ttk.Entry(root, textvariable=text)
Kod dili: Python ( python )
Bu sözdiziminde:
- İlk önce sınıfın yeni bir örneğini oluşturun
StringVar
. Metin, bir dize değişkeninin değer sahibi olacaktır. - İkinci olarak, metin değişkenini widget'ın öğesine
textvariable
atayınEntry
.
Bu durumda, giriş widget'inin geçerli değerini almak için nesnenin get()
çağrı yöntemini kullanabilirsiniz :StringVar()
text.get()
Kod dili: CSS ( css )
Odağı Tkinter Giriş widget'ına ayarlama
Entry
Daha iyi bir kullanıcı deneyimi sağlamak için, pencere göründükten sonra odağı ilk widget'a taşıyabilirsiniz . Widget odaklandığında Entry
kullanıcı girişini kabul etmeye hazırdır.
focus()
Bunu yapmak için widget'ın yöntemini Entry
şu şekilde kullanırsınız :
textbox.focus()
Kod dili: Python ( python )
Tkinter şifre girişi gösteriliyor
Widget'taki şifre gibi hassas bilgileri gizlemek için Entry
bu seçeneği kullanabilirsiniz show
.
Aşağıdakiler bir şifre girişi oluşturur. Bir şifre girdiğinizde, gerçek karakterler değil, seçenekte belirtilen yıldız işaretleri (*) gösterilir show
:
password = tk.StringVar()
password_entry = ttk.Entry(
root,
textvariable=password,
show='*'
)
password_entry.pack()
Kod dili: Python ( python )
Tkinter Giriş widget'ı örneği
Aşağıdaki program, Entry
oturum açma formu oluşturmak için widget'ların nasıl kullanılacağını gösterir:
import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showinfo
# root window
root = tk.Tk()
root.geometry("300x150")
root.resizable(False, False)
root.title('Sign In')
# store email address and password
email = tk.StringVar()
password = tk.StringVar()
def login_clicked():
""" callback when the login button clicked
"""
msg = f'You entered email: {email.get()} and password: {password.get()}'
showinfo(
title='Information',
message=msg
)
# Sign in frame
signin = ttk.Frame(root)
signin.pack(padx=10, pady=10, fill='x', expand=True)
# email
email_label = ttk.Label(signin, text="Email Address:")
email_label.pack(fill='x', expand=True)
email_entry = ttk.Entry(signin, textvariable=email)
email_entry.pack(fill='x', expand=True)
email_entry.focus()
# password
password_label = ttk.Label(signin, text="Password:")
password_label.pack(fill='x', expand=True)
password_entry = ttk.Entry(signin, textvariable=password, show="*")
password_entry.pack(fill='x', expand=True)
# login button
login_button = ttk.Button(signin, text="Login", command=login_clicked)
login_button.pack(fill='x', expand=True, pady=10)
root.mainloop()
Kod dili: Python ( python )
Çıktı:

Nasıl çalışır.
İlk olarak, e-posta ve şifre widget'larının geçerli metnini tutacak iki dize değişkeni oluşturun Entry
:
# store email address and password
email = tk.StringVar()
password = tk.StringVar()
Kod dili: Python ( python )
İkinci olarak, e-posta widget'ını oluşturun Entry
ve onu e-posta değişkeniyle ilişkilendirin:
email_entry = ttk.Entry(signin, textvariable=email)
Kod dili: Python ( python )
Aşağıdaki setler girişe odaklanır email
:
email_entry.focus()
Kod dili: Python ( python )
Üçüncü olarak, şifre girişi widget'ını oluşturun ve şifre değişkenini ona atayın textvariable
:
password_entry = ttk.Entry(signin, textvariable=password, show="*")
Kod dili: Python ( python )
Son olarak, giriş düğmesine tıklanırsa girilen e-postayı ve şifreyi gösteren bir mesaj kutusu görüntüleyin.
Özet
ttk.Entry
Bir metin kutusu oluşturmak için widget'ı kullanın .StringVar()
Widget'ın geçerli metniniEntry
bir dize değişkeniyle ilişkilendirmek için sınıfın bir örneğini kullanın .show
Şifre girişi oluşturmak için seçeneği kullanın .
Kaynak