GUI-Tkinter 编程

本文介绍了Tkinter——Python的标准GUI库,涵盖了15种常用控件及其属性,并通过实例演示了如何创建简单的GUI应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GUI-Tkinter 编程

Tkinter 是使用 python 进行窗口视窗设计的模块,是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面。
注意:Python3.x 版本使用的库名为 tkinter,即首写字母 T 为小写。

一、python 界面编程 Tkinter 15种控件

控件名称描述
Button按钮类似标签,但提供额外的功能,例如鼠标掠过、按下、释放以及键盘操作/事件
Canvas画布提供绘图功能(直线、椭圆、多边形、矩形) ;可以包含图形或位图
Checkbutton选择按钮一组方框,可以选择其中的任意个(类似 HTML 中的 checkbox)
Entry文本框单行文字域,用来收集键盘输入(类似 HTML 中的 text)
Frame框架包含其他组件的纯容器
Label标签用来显示文字或图片
Listbox列表框一个选项列表,用户可以从中选择
Menu菜单点下菜单按钮后弹出的一个选项列表,用户可以从中选择
Menubutton菜单按钮用来包含菜单的组件(有下拉式、层叠式等等)
Message消息框类似于标签,但可以显示多行文本
Radiobutton单选按钮一组按钮,其中只有一个可被“按下” (类似 HTML 中的 radio)
Scale进度条线性“滑块”组件,可设定起始值和结束值,会显示当前位置的精确值
Scrollbar滚动条对其支持的组件(文本域、画布、列表框、文本框)提供滚动功能
Text文本域多行文字区域,可用来收集(或显示)用户输入的文字(类似 HTML 中的 textarea)
Toplevel顶级类似框架,但提供一个独立的窗口容器

注意:在Tkinter中窗口部件类没有分级;所有的窗口部件类在树中都是兄弟关系。

所有这些窗口部件提供了Misc和几何管理方法、配置管理方法和部件自己定义的另外的方法。此外,Toplevel类也提供窗口管理接口。这意味一个典型的窗口部件类提供了大约150种方法。

标准属性

标准属性也就是所有控件的共同属性,如大小,字体和颜色等等。

属性描述
Dimension控件大小
Color控件颜色
Font控件字体
Anchor锚点
Relief控件样式
Bitmap位图
Cursor光标
几何管理

Tkinter控件有特定的几何状态管理方法,管理整个控件区域组织,以下是Tkinter公开的几何管理类:包、网格、位置

几何方法描述
pack()包装
grid()网格
place()位置

二、创建一个GUI程序

  1. 导入 Tkinter 模块
  2. 创建控件
  3. 指定这个控件的 master, 即这个控件属于哪一个
  4. 告诉 GM(geometry manager) 有一个控件产生了。
import tkinter
top = tkinter.Tk()
# 进入消息循环
top.mainloop()

代码显示窗口如下:

在这里插入图片描述

import tkinter
import random

top = tkinter.Tk()
top.title('随机点名')

lb = tkinter.Label(top, text='点名', width=50, height=30, fg='red')
lb.pack()


def c_label():
    name =['小红','小明','小华','张三','李四','王五','赵六','孙七']
    i = random.randint(0, len(name) - 1)

    lb.config(text=name[i], fg='green')
    top.flag = False

bt = tkinter.Button(text='天选之子', width=12, bg='pink', command=c_label)
bt.pack()
top.mainloop()

执行结果最初显示界面如下:
在这里插入图片描述
点击按钮“天选之子”之后显示的界面如下:
在这里插入图片描述

滚动、音乐等效果还未深入研究,期待下一篇吧~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值