教程 > tkinter 教程 > 阅读:170

tkinter 教程 文本输入控件——迹忆客-ag捕鱼王app官网

tkinter 文本输入控件-entry 控件允许用户输入只有一种字体类型的单行文本。如果需要更多行,则应使用 tkinter text 控件。entry 控件也可用于显示单行文本。


tkinter entry 文本输入控件示例

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()

此示例代码创建了一个 gui,用户可以输入国家和城市名称,然后在单击 get result 按钮后显示输入的信息。

tkinter 文本输入控件例子

entryland = tk.entry(app, width=20, textvariable=landstring)

它创建了一个 tkinter entry 控件实例,其宽度为 20 个字符单位。它只能在输入框中显示 20 个字符,因此,如果文本行超过 20 个字符,则需要使用箭头来移动文字来显示剩余的文字。

entry 控件的文本被分配给 tkinter 字符串变量 landstring。你可以使用 landstring.get() 方法获取文本,并使用 landstring.set() 方法设置文本。如果使用 set() 方法,则输入框中的文本会自动更新。

注意

除了 stringvar 的 get() 方法外,你还可以用 entry 控件对象的 get() 方法来得到 entry 里面输入的文字。


tkinter entry 文本输入控件默认文字

我们有两种方法来设置 entry 默认文字,

set() 方法来设置 tkinter entry 控件默认文字

如上例所示,你可以使用 stringvar 的 set() 方法来设置 tkinter entry 的默认文字。

例如,

landstring.set("netherlands")

它会将默认文字设置为 netherlands

insert() 方法来设置 tkinter entry 控件默认文字

insert(index,string) 方法在给定的 index 位置插入文字 string。如果 index 是 end,它会将文字附加到 entry 控件。

entryland.insert(tk.end, "netherlands")

它将默认文字设置为 netherlands。

注意

如果 index 比控件中已有的文字长度要长的话,那它就跟 insert(end, string) 的效果相同。

查看笔记

扫码一下
查看教程更方便
网站地图