Python tkinter教程-04:输入框


文章目录

  • 0 准备工作
  • 1介绍
  • 2 基本用法
  • 3 通用方法
  • 4 启用与禁用
  • 5 显示方法
  • 6 获取内容
  • 7 插入与删除字符
  • 8 清空字符
  • 9 初始化字符
  • 10 重置字符


0 准备工作

要使用,先导入:import tkinter as tk导入名字叫tkinter的库,并将名字改为tk,这样方便使用

注意:尽量不要使用IDLE,不然可能会和tkinter有冲突,因为IDLE是tkinter写的

1介绍

老规矩,还是要放在mainloop前面~
常用参数:

参数

说明

font

字体

bg

背景颜色

fg

字体颜色

width

按钮宽度

heigh

按钮高度

textvariable

与tkVar绑定,实现文本自动更新

state

状态(禁用,启用)

show

显示形式

2 基本用法

它也是至少要一个窗口名字的:tkinter.Entry(窗口名字),还有放置:

import tkinter as tk
window = tk.Tk()
window.title("Python tkinter教程-04:输入框 by 罗富茗")

e = tk.Entry(window)
e.pack()

window.mainloop()

python输入框高度 python窗口输入框_界面设计

3 通用方法

参数

说明

font

字体

bg

背景颜色

fg

字体颜色

width

按钮宽度

heigh

按钮高度

textvariable

与tkVar绑定,实现文本自动更新

都是以前说过的,就是显示方式不一样,上代码:

import tkinter as tk
window = tk.Tk()
window.title("Python tkinter教程-04:输入框 by 罗富茗")

e = tk.Entry(window, font=("kaiti", 20), bg="red", fg="green")
e.pack()

window.mainloop()

python输入框高度 python窗口输入框_输入框_02

4 启用与禁用

这里和按钮差不多:启用就是可以输入文字,禁用就是禁止输入文字,上范例:

import tkinter as tk
window = tk.Tk()
window.title("Python tkinter教程-03:按钮 by 罗富茗")

def on():
    e["state"] = "normal"
    b1["state"] = "disable"
    b2["state"] = "normal"

def off():
    e["state"] = "disable"
    b1["state"] = "normal"
    b2["state"] = "disable"

e = tk.Entry(window)
e.pack()

b1 = tk.Button(window, text="启用输入", command=on, state="disable")
b1.pack()

b2 = tk.Button(window, text="禁用输入", command=off)
b2.pack()

window.mainloop()

python输入框高度 python窗口输入框_tkinter_03

5 显示方法

这个一般用于输入用户名,密码,比较常用。
show = ""就是显示字符
如果show等于一个字符串,那输入的每一个字符都会变成你设置的东西,比如:

show = “!”
输入:“12312353451”
变为:"!!!"

show = “#”
输入:“abc”
变为:"###"

那下面出范例,就以*为例吧:

import tkinter as tk
window = tk.Tk()
window.title("Python tkinter教程-03:按钮 by 罗富茗")

l1 = tk.Label(window, text="用户名:", font=("kaiti", 20))
l1.pack()

e1 = tk.Entry(window, font=("kaiti", 20))
e1.pack()

l2 = tk.Label(window, text="密码:", font=("kaiti", 20))
l2.pack()

e2 = tk.Entry(window, font=("kaiti", 20), show="*")
e2.pack()

def on():
    e2["show"] = ""
    b1["state"] = "disable"
    b2["state"] = "normal"

def off():
    e2["show"] = "*"
    b1["state"] = "normal"
    b2["state"] = "disable"

b1 = tk.Button(window, text="显示字符", font=("kaiti", 20), command=on)
b1.pack()

b2 = tk.Button(window, text="隐藏字符", font=("kaiti", 20), state="disable", command=off)
b2.pack()

window.mainloop()

python输入框高度 python窗口输入框_输入框_04

(注意:界面会很乱,以后教怎么使用其它方法放置控件)

6 获取内容

用get大法:输入框名字.get()即可
范例:

import tkinter as tk, time
window = tk.Tk()
window.title("Python tkinter教程-03:按钮 by 罗富茗")

e = tk.Entry(window)
e.pack()

def get():
    print("你输入了:"+e.get())

b = tk.Button(window, text="获取输入内容", command=get)
b.pack()

window.mainloop()

python输入框高度 python窗口输入框_界面设计_05

7 插入与删除字符

这里的插入用的是insert,删除用的是delete。
而且学这个一定要会索引!点击这里查看索引教程。

插入:
输入框名字.insert(索引位置, 内容) 比如:

输入:“112233”
在索引为2的地方插入你好
代码为:输入框名字.insert(2, "你好") 则结果为:“11你好2233”

代码:

import tkinter as tk, time
window = tk.Tk()
window.title("Python tkinter教程-03:按钮 by 罗富茗")

e = tk.Entry(window)
e.pack()

def ok():
    e.insert(2, "你好")

b = tk.Button(window, text="写好了!", command=ok)
b.pack()

window.mainloop()

python输入框高度 python窗口输入框_python_06

删除:
输入框名字.delet(索引1, 索引2) 比如:

输入:“112233”
删除索引1~3的字符
代码为:输入框名字.delete(1, 3) 则结果为:“1233”

代码:

import tkinter as tk, time
window = tk.Tk()
window.title("Python tkinter教程-03:按钮 by 罗富茗")

e = tk.Entry(window)
e.pack()

def ok():
    e.delete(1, 3)

b = tk.Button(window, text="写好了!", command=ok)
b.pack()

window.mainloop()

python输入框高度 python窗口输入框_python_06

8 清空字符

其实清空用的也是delete函数!
会有人问:
是不是输入框名字.delete(0, len(输入框名字.get()))呢?
这种方法到是可以清空,但是比较麻烦!
我们不用单独获取输入框的字符长度,只要在第二个参数写tk.END或者"end"就可以了!
范例:

import tkinter as tk, time
window = tk.Tk()
window.title("Python tkinter教程-03:按钮 by 罗富茗")

e = tk.Entry(window)
e.pack()

def ok():
    e.delete(0, "end")

b = tk.Button(window, text="清空", command=ok)
b.pack()

window.mainloop()

python输入框高度 python窗口输入框_tkinter_08

9 初始化字符

这个简单,就是一创建就添加字符,范例:

import tkinter as tk, time
window = tk.Tk()
window.title("Python tkinter教程-03:按钮 by 罗富茗")

e = tk.Entry(window)
e.pack()
e.insert(0, "我是初始字符!")

window.mainloop()

python输入框高度 python窗口输入框_python_09

10 重置字符

这个步骤就是先清空,再插入,很简单,范例:

import tkinter as tk, time
window = tk.Tk()
window.title("Python tkinter教程-03:按钮 by 罗富茗")

e = tk.Entry(window)
e.pack()
e.insert(0, "我是初始字符!")

def reset():
    e.delete(0, "end")
    e.insert(0, "我是初始字符!")

b = tk.Button(window, text="重置字符", command=reset)
b.pack()

window.mainloop()

python输入框高度 python窗口输入框_输入框_10