Python的GUI编程库Tkinter的学习

GUI编程就像是搭积木一样,把库里一个个的组件填好参数放到一个主体里面,最终形成一个可用的用户界面。

总体的流程大概是如此这般:导入库-> 创建主体对象 -> 组装库中的组件放入到主体对象里。

Tkinter内置到python的安装包里,可以不用下载直接使用。导入库如下:

import tkinter as tk

创建主体对象如下:

root = tk.Tk()

接下来就是重头戏了,把组件放到主体对象中,那问题就是:库里有哪些组件?这些组件我该怎么使用 ?我怎么把组件放到我想放的位置(排版)?

有哪些常用的组件?

1. 按钮组件: btn1 = tk.Button(主体对象, text="发布", command=submit)可选的属性如下:

参数功能
text="按钮文本" 设置在按钮上显示的文字
font=('软体雅黑', 10, 'bold')设置文字的字体、大小、加粗(删除线)
bg='#232323'设置按钮背景的颜色
fg='white'       设置文字的颜色
command=autobrick设置点击按钮后需要执行的函数(不带括号)
activeforeground鼠标放上去时,按钮的前景色(文字颜色)
activebackground鼠标放上去时,按钮的背景色
wraplength每行显示的文字数量,超过就换行
state按钮状态:disabled、normal、active
padx( pady )距离x轴(y轴)的内边距
bd 设置边框的宽度
relief

设置边框的样式:flat、sunken、raised、groove、ridge

height设置按钮的高度
wideth

设置按钮的宽度

2. 标签组件:label(主体对象, text="姓名")

参数

功能

text="按钮文本" 设置在按钮上显示的文字
font=('软体雅黑', 10, 'bold')设置文字的字体、大小、加粗(删除线)
bg='#232323'设置按钮背景的颜色
fg='white'       设置文字的颜色
relief

设置边框的样式:flat、sunken、raised、groove、ridge

bd 设置边框的宽度
justify文字的对齐方式:left、right、center
height设置按钮的高度
wideth

设置按钮的宽度

wraplength每行显示的文字数量,超过就换

3. 文本框组件 Entry(主体对象) Entry(主体对象) 参数如下:

参数

功能

bg='#232323'设置按钮背景的颜色
fg='white'       设置文字的颜色
bd 设置边框的宽度
relief

设置边框的样式:flat、sunken、raised、groove、ridge

wideth

设置按钮的宽度

height设置按钮的高度
font=('软体雅黑', 10, 'bold')设置文字的字体、大小、加粗(删除线)
state按钮状态:disabled、normal、active
show=" * "        把文字遮挡成特定的字符

文本框的一些常见方法:

方法功能
get()获取文本框的文字
insert(index, s)在文本框内设置指定的文本,index表示插入的位置(如index=0),s表示你要写的字符串
delete(first, end)删除文本框的文字(例如可用于清除文本框), first和end表示删除的范围

类似的还有一些下拉框、单选框等组件,不再一一介绍。

怎么使用这些组件?

可以在前面看到,这些组件的第一个参数都是主体对象,可以理解成把组件绑定到了我们创建的主体对象上。举个例子:

root = tk.Tk()

# 创建开始和结束按钮
start_button = tk.Button(root, text="开始", command=auto_brick)
stop_button = tk.Button(root, text="结束", command=stop_program)

# 将按钮添加到主窗口
start_button.pack()
stop_button.pack()

# 运行主循环
root.mainloop()

创建组件 -> 添加到窗口 -> 运行循环

运行结果如下:

很丑 对吧。所以我们需要使用Tkinter的grid来把这些组件放到我们想要的位置。 

怎么把组件放到我们想要的位置?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值