Tkinter tutorial - Entry

  1. Voorbeeld van Tkinter Entry Widget
  2. Tkinter Entry Standaardtekst

Met de Tkinter- Entry widget kan de gebruiker een enkele tekstregel invoeren met slechts één lettertype. Als er meer lijnen nodig zijn, moet u de Tkinter- Text widget gebruiken. Entry widget kan ook worden gebruikt om de tekst van één regel weer te geven.

Voorbeeld van Tkinter Entry Widget

import tkinter as tk
from tkinter import ttk

def callbackFunc():
    resultString.set("{} - {}".format(landString.get(),
                                      cityString.get()))
     
app = tk.Tk() 
app.geometry('200x100')

labelLand = tk.Label(app,
                    text = "Country")
labelLand.grid(column=0, row=0, sticky=tk.W)
labelCity = tk.Label(app,
                    text = "City")
labelCity.grid(column=0, row=1, sticky=tk.W)

landString = tk.StringVar()
cityString = tk.StringVar()
entryLand = tk.Entry(app, width=20, textvariable=landString)
entryCity = tk.Entry(app, width=20, textvariable=cityString)

entryLand.grid(column=1, row=0, padx=10)
entryCity.grid(column=1, row=1, padx=10)

resultButton = tk.Button(app, text = 'Get Result',
                         command=callbackFunc)

resultButton.grid(column=0, row=2, pady=10, sticky=tk.W)

resultString=tk.StringVar()
resultLabel = tk.Label(app, textvariable=resultString)
resultLabel.grid(column=1, row=2, padx=10, sticky=tk.W)

app.mainloop()

Deze voorbeeldcode maakt een GUI waarmee de gebruiker de namen van het land en de stad kan invoeren, waarna de ingevoerde informatie wordt weergegeven nadat op de Get Result knop is geklikt.

Tkinter Tutorial_Entry Basic

entryLand = tk.Entry(app, width=20, textvariable=landString)

Er wordt één Tkinter- Entry widget instantie gemaakt met een breedte van 20 tekens. Er kunnen slechts 20 tekens in het invoervak ​​worden weergegeven. Daarom moet u de pijltoetsen gebruiken om de rest van de regel weer te geven als de tekstregel meer dan 20 tekens bevat.

De tekst van de invoerwidget is toegewezen aan een Tkinter-tekenreeksvariabele landString . Je kan de tekst met landString.get() methode ophalen en de tekst met landString.set() methode instellen. De tekst in het invoervak ​​wordt automatisch bijgewerkt als de set() methode wordt gebruikt.

Notitie

Naast de get() methode van StringVar , kan je ook de get() methode van het Entry widgetobject gebruiken om de tekenreeks in het Entry vak op te halen.

Tkinter Entry Standaardtekst

We hebben twee manieren om de Entry standaardtekst in te stellen ,

set() Methode om Tkinter Entry Standaardtekst in te stellen

Zoals aangegeven in het bovenstaande voorbeeld, kan je de set() methode of StringVar gebruiken om de standaardtekst van Tkinter in te stellen Entry.

Bijvoorbeeld,

landString.set("Netherlands")

Het zal de standaardtekst instellen als Netherlands

insert() Methode om Tkinter Entry Standaardtekst in te stellen

insert(index, string) methode voegt de tekst string op de gegeven index positie in. En als index dit END het geval is , wordt de tekst aan de Entry widget toegevoegd.

entryLand.insert(tk.END, "Netherlands")

Het stelt de standaardtekst in Netherlands.

Notitie

Als index groter is dan de lengte van de bestaande tekenreeks in de widget, is deze gelijk aan insert(END, string).