python初始化初级界面_Python初学——窗口视窗Tkinter

本文是Python初学者的Tkinter GUI界面设计教程,介绍了Tkinter的基础知识,包括创建窗口、标签、按钮、输入框、列表框、选择按钮、尺度和画布等组件的使用方法,并通过实例演示了如何创建交互式的窗口应用。同时,文章还展示了登录窗口的设计和用户注册功能,帮助读者掌握Tkinter的基本操作。
摘要由CSDN通过智能技术生成

什么是 tkinter 窗口

1.1 什么是 Tkinter

Python自带的可编辑的GUI界面,是一个图像窗口。

Tkinter是使用 python 进行窗口视窗设计的模块。简单的构造,多平台,多系统的兼容性, 能让它成为让你快速入门定制窗口文件的好助手。它在 python 窗口视窗模块中是一款简单型的。所以用来入门,熟悉窗口视窗的使用,非常有必要。

tkinter 的窗口部件

2.1 Label & Button 标签和按钮

窗口主体框架

每一个tkinter应用的主体框架都可以包含下面这部分,定义window窗口和window的一些属性,然后书写窗口内容,最后执行window.mainloop让窗口活起来。

importtkinter astk

window =tk.Tk()

window.title('my window')

window.geometry('300x100')

# 这里是窗口的内容

window.mainloop()

首先建立一个用来描述的标签tk.Label(注意对象的首字母一般是大写),示例代码如下所示:

l =tk.Label(window,

text='OMG! this is TK!',# 标签的文字

bg='green',# 背景颜色

font=('Arial',12),# 字体和字体大小

width=15,height=2)# 标签长宽

l.pack()# 固定窗口位置

运行结果如图所示:

我们也可以通过变量的形式控制标签的显示,这时我们引入按钮 tk.Button 的概念,每点一次按钮,标签变化一次。 用以下内容替换上面的标签. 并把需要变化的文字存成变量 var:

var=tk.StringVar()# 这时文字变量储存器

l =tk.Label(window,

textvariable=var,# 使用 textvariable 替换 text, 因为这个可以变化

bg='green',font=('Arial',12),width=15,height=2)

l.pack()

接着做按钮tk.Button:

b =tk.Button(window,

text='hit me',# 显示在按钮上的文字

width=15,height=2,

command=hit_me)# 点击按钮式执行的命令

b.pack()# 按钮位置

hit_me函数如下:

on_hit =False# 默认初始状态为 Falsedef hit_me():

globalon_hit

ifon_hit ==False:# 从 False 状态变成 True 状态

on_hit =True

var.set('you hit me')# 设置标签的文字为 'you hit me'

else:# 从 True 状态变成 False 状态

on_hit =False

var.set('')# 设置文字为空

运行结果如下所示:

没有点击动作时:

点击第一次:

点击第二次:

完整代码:

importtkinter astk

window=tk.Tk()

window.title('my window')

window.geometry('300x100')

var=tk.StringVar()

l=tk.Label(window,textvariable=var,bg='green',font=('Arial',12),width=15,

height=2)

l.pack()

on_hit=False

defhit_me():

globalon_hit

ifon_hit==False:

on_hit=True

var.set('you hit me')

else:

on_hit=False

var.set('')

b=tk.Button(window,text='hit me',width=15,

height=2,command=hit_me)

b.pack()

window.mainloop()

2.2 Entry & Text 输入, 文本框

在定义了窗口的基础上,首先定义一个Entry,代码如下所示:

e =tk.Entry(window,show=None)

e.pack()

注意这里的show,可以自定义显示你想要在Entry中显示的字符,例如像输入密码时,可令show=‘*’

本节实现的例子功能为,如下所示的一个窗口,从上至下分别为定义的Entry、Button、Button和Text。两个Button分别命名为insert point和insert end,获取Entry中输入的内容并且分别在光标位置、末尾插入,内容显示在Text中。

Button的定义如下所示:

b1 =tk.Button(window,text='insert point',width=15,

height=2,command=insert_point)

b1.pack()

b2 =tk.Button(window,text='insert end',

command=insert_end)

函数的定义如下所示:

definsert_point():

var=e.get()

t.insert('insert',var)

definsert_end():

var=e.get()

t.insert('end',var)

完整代码如下:

importtkinter astk

window =tk.Tk()

window.title('my window')

window.geometry('300x300')

e =tk.Entry(window,show=None)

e.pack()

definsert_point():

var=e.get()

t.insert('insert',var)

definsert_end():

var=e.get()

t.insert('end',var)

b1 =tk.Button(window,text='insert point',width=15,

height=2,command=insert_point)

b1.pack()

b2 =tk.Button(window,text='insert end',

command=insert_end)

b2.pack()

t =tk.Text(window,height=2)

t.pack()

window.mainloop()

运行结果如下所示,首先在Entry中输入111111,点击按钮1,如下:

选择某一点作为插入位置,再在Entry中输入2,点击按钮1

在Entry中输入3,点击按钮2

此外,insert还能实现具体位置的内容插入,例如将inser_end函数更改如下:

definsert_end():

var=e.get()

t.insert(2.2,var)

则insert_end实现在Text的2行2列出插入内容,运行结果如下所示:

2.3 Listbox 列表部件

本节例子实现功能为:如下所示,从上到下分别为Label、Button和Listbox,Button实现将Listbox中当前光标选中的内容显示在Label中。

在定义好窗口的基础上首先定义Label,设置底色为黄色,并且要将文本内容定义为变量,代码如下:

var1=tk.StringVar()

l=tk.Label(window,bg='yellow',width=4,textvariable=var1)

l.pack()

接着定义Button,命名为‘print selection’,并定义command的函数,如下所示:

defprint_selection():

value=lb.get(lb.curselection())

var1.set(value)

b1 =tk.Button(window,text='print selection',width=15,

height=2,command=print_selection)

b1.pack()

最后定义Listbox,如下所示实现了Listbox中内容

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值