在tkinter中,文本框被称为Entry
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as tk
from tkinter import ttk
win = tk.Tk()
win.title("Python GUI") # 添加标题
aLabel = ttk.Label(win, text="A Label") # 创建一个标签, text:显示表现的内容
aLabel.grid(column=0, row=0)
def clickMe(): # 当acction被点击时,该函数则生效
action.configure(text='Hello ' + name.get()) # 设置button显示的内容
action = ttk.Button(win, text="Click Me!", command=clickMe) # 创建一个按钮, text:显示按钮上面显示的文字, command:当这个按钮被点击之后会调用command函数
action.grid(column=1, row=1)
ttk.Label(win, text="Enter a name:").grid(column=0, row=0)
name = tk.StringVar() # StringVar是Tk库内部定义的字符串变量类型,在这里用于管理部件上面的字符;不过一般用在按钮button上。改变StringVar,按钮上的文字也随之改变。
nameEntered = ttk.Entry(win, width=12, textvariable=name) # 创建一个文本框,定义长度为12个字符长度,并且将文本框中的内容绑定到上一句定义的name变量上,方便clickMe调用
nameEntered.grid(column=0, row=1)
win.mainloop() # 当调用mainloop()时,窗口才会显示出来
执行上面代码得到下面的界面
点击按钮前:
2194934.png
在文本框中输入内容,点击按钮后:
2342573.png
注:执行代码之后,如果文本框中输入的字符超过文本框定义的大小,则只显示设置数量的字符,由于button没有设置大小,当点击button按钮之后,按钮会被拉长
2905362.png