Entry窗口部件
简单说明:
Entry是tkinter类中提供的的一个单行文本输入域,用来输入显示一行文本,收集键盘输入(类似 HTML 中的 text)。
什么时候用:
需要用户输入用户信息时,比如我们平时使用软件、登录网页时,用户交互界面让我们登录账户信息等时候可以用到。
示例代码:
# -*- coding: utf-8 -*-
import tkinter as tk # 使用Tkinter前需要先导入
# 第1步,实例化object,建立窗口window
window = tk.Tk()
# 第2步,给窗口的可视化起名字
window.title("My window ")
# 第3步,设定窗口的大小(长*宽)
window.geometry('500x380') # 这里的乘是小x
# 第4步,在图形界面上设定输入框控件entry并放置控件
root = tk.Label(window, text='账号:', font=('Arial', 12), width=30, height=2)
l1 = tk.Entry(window, show=None, font=('Arial', 12)) # 显示成名文
password = tk.Label(window, text='密码:', font=('Arial', 12), width=30, height=2)
l2 = tk.Entry(window, show='*', font=('Arial', 12)) # 显示成密文
root.pack()
l1.pack()
password.pack()
l2.pack()
# 第5步,主窗口循环显示
window.mainloop()
效果:
Text窗口部件
简单说明:
Text是tkinter类中提供的的一个多行文本区域,显示多行文本,可用来收集(或显示)用户输入的文字(类似 HTML 中的 textarea),格式化文本显示,允许你用不同的样式和属性来显示和编辑文本,同时支持内嵌图象和窗口。
什么时候用:
在需要显示编辑用户、产品多行信息时,比如显示用户详细描述文字,产品简介等等,支持随时编辑。
示例代码:
# -*- coding: utf-8 -*-
import tkinter as tk # 使用Tkinter前需要先导入
# 第1步,实例化object,建立窗口window
window = tk.Tk()
# 第2步,给窗口的可视化起名字
window.title("My window ")
# 第3步,设定窗口的大小(长*宽)
window.geometry('500x380') # 这里的乘是小x
# 第4步,在图形界面上设定输入框控件entry框并放置
e = tk.Entry(window, show=None) # 显示成明文形式
e.pack()
# 第5步,定义两个触发事件时的函数insert_point和insert_end(注意:因为Python的执行顺序是从上往下,所以函数一定要放在按钮的上面)
def insert_point(): # 在鼠标焦点然插A输入内容
var = e.get()
t.insert('insert', var)
def insert_end(): # 在文本框内容最后接入输入内容
var = e.get()
t.insert('end', var)
# 第6步,创建并放置两个按钮分别触发两种情况
b1 = tk.Button(window, text='insert_point', width=10,
height=2, command=insert_point)
b1.pack()
b2 = tk.Button(window, text='insert_end ', width=10,
height=2, command=insert_end)
b2.pack()
# 第7步,创建并放置一个多行文本框text用以显示,指定height=3为文本框是三个字符高度
t = tk.Text(window, height=3)
t.pack()
# 第8步,主窗口循环显示
window.mainloop()
效果:
Listbox窗口部件
简单说明:
Text是tkinter类中提供的的列表框部件,显示供选方案的一个列表。listbox能够被配置来得到radiobutton或checklist的行为。
什么时候用:
在有一个很多内容选项组成的列表提供用户选择时会用到。
示例代码:
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
import tkinter as tk # 使用Tkinter前需要先导入
# 第1步,实例化object,建立窗口window
window = tk.Tk()
# 第2步,给窗口的可视化起名字
window.title("My window ")
# 第3步,设定窗口的大小(长*宽)
window.geometry('500x380') # 这里的乘是小x
# 第4步,在图形界面上设定标签
var = tk.StringVar() # 创建变量,用var1用来接收鼠标点击的具体内容
l = tk.Label(window, bg='green', fg='yellow', font=('Arial', 12), width=10, textvariable=var)
# 第5步,放置标签
l.pack()
# 第6步,创建一个方法用于按钮的点击事件
def print_selection():
value = lb.get(lb.curselection()) # 获取当前选中的文本
var.set(value) # 为label设置值
# 第五步,创建一个按钮并放置,点击按钮调用print_selection函数
b1 = tk.Button(window, text='print selection ', width=15, height=2, command=print_selection)
b1.pack()
# 第7步,创建Listbox并为其添加内容
var1 = tk.StringVar()
var1.set((1, 2, 3, 4)) # 为变量var1设置值#创建Listbox
lb = tk.Listbox(window, listvariable=var1) # 将var1的值赋给Listbox#创建一个list并将值循环添加到Listbox控件中
list_items = [5, 6, 7, 8]
for item in list_items:
lb.insert('end', item) # 从最后一个位置开始加入值
lb.insert(1, 'first') # 在第一个位置加入'first'字符
lb.insert(2, 'second') # 在第二个位置加入'second'字符
lb.delete(2) # 删除第二个位置的字符
lb.pack()
# 第八步,主窗口循环显示
window.mainloop()
效果: