python Tkinter详细基础教学:

本文详细介绍Python标准库Tkinter的常用操作、核心组件及重要参数。涵盖基础架构搭建,如导入模块、获取对象等步骤,还介绍了Label标签、Button按钮等组件的属性和方法,以及Pack、Grid、Place三种布局管理器。

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

目录

前言

模块导入

tkinter核心组件

基础架构

第一步 导入tk模块

第二步 获取TK对象

第三步 指定窗口大小位置

第四步 主窗口标题

第五步 显示主窗口

总和

1、Label 标签

基本属性

1.1  text,bg,font,fg

1.2  width,height,anchor,padx

1.3  image,compound,relief

1.4  bitmap,bd

2、Button 按钮

基本属性

2.1  text,font,bg,fg,width,height

2.2  command,padx,pady,bd,anchor

2.3  image,relief,bitmap,compound,cursor

2.4  justify,state,wraplength,underline

3、Enter单行文字域

基本属性

3.1  show,textvariable

3.2  方法展示:get()

3.3  方法展示:insert()

3.4  方法展示:delete()

3.5  方法展示:config()

 4、Text多行文本域

基本属性

4.1  wrap,state

5、Frame 框架

基本属性

5.1  基本使用

5.2  方法展示:destroy()

6、meun 菜单

基本属性

6.1  tearoff,activebackground,activeforeground

6.2  方法展示:delete(index)

6.3  方法展示:insert_separator(index)

7、Canvas 绘画

基本属性

7.1  方法展示:create_line(),create_restangle(),create_oval(),create_text(),create_image()

7.2  方法展示:delete(),move(),itemconfig()

8、Messagebox 弹窗

基本属性

8.1  基本应用 

9、布局管理器

9.1  Pack布局

9.2 Grid布局

9.3  Place布局

布局轴向



前言

本文致力与帮助想要需要Tkinter的小伙伴,内容详细简介明了不臃肿,会详细的介绍Tkinter的常用操作以及核心组件和它们的重要参数。想要学习的小伙伴一定要认真观看喔~

模块导入

tk为python只带的标准库,不需要下载,直接导入。

from tkinter import *

tkinter核心组件

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

基础架构

第一步 导入tk模块

from tkinter import *

第二步 获取TK对象

root = Tk()

第三步 指定窗口大小位置

# 指定了窗口的宽度、高度和位置。
root.geometry('600x450+400+200') 
# 宽度为600像素
# 高度为450像素
# 位置在屏幕上的坐标为(x=400, y=200)

第四步 主窗口标题

# 主窗口的框体的标题
root.title('title')

第五步 显示主窗口

root.mainloop()  # 显示主窗口

总和

from tkinter import *

root = Tk()
root.geometry('400x300+400+200')
root.title('title')

"""
此处写tk框架组件
"""
root.mainloop()

1Label 标签

基本属性

参数
注释
text 标签名称
font 字体(样式,大小)
bg (background) 背景颜色(标签颜色)
fg (foreground) 前景颜色(字体颜色)
width 标签宽度
height 标签高度
anchor 锚选项,控制标签文本的位置(参数值:S,W,E,N,SE,SW,NW,NE,CENTER,默认为CENTER)
bitmap 位图
relief 三维效果(参数值:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT)
image 与PhotoImage 一起使用,图片只能为gif图片
compound  图片和文字一同显示
padx 设置文本与标签边框x轴方向上距离
pady 设置文本与标签边框y轴方向上的距离
cursor 鼠标移动到框架时,光标的形状(参数值:arrow, circle, cross, plus 等)
justify 显示多行文本的时候,设置不同行之间的对齐方式(参数值:LEFT, RIGHT, CENTER)
state  设置标签状态,参数值:NORMAL、ACTIVE、 DISABLED。默认 NORMAL
wraplength 指定每行文本的宽度,单位是屏幕单元
underline 下划线。默认按钮上的文本都不带下划线。取值就是带下划线的字符串索引,为 0 时,第一个字符带下划线,为 1 时,第二个字符带下划线,以此类推

1.1  text,bg,font,fg

from tkinter import *

root = Tk()
root.geometry('400x300+400+200')
root.title('title')
# ------
label1 = Label(root, text='测试1', bg='purple', font=('华文行楷', 20), fg='blue')
label1.grid(row=1, column=1)
# ------
root.mainloop()

其中 grid(row=1,column=1) 代表着当前标签位置于 第一行第一列

text为标签名“测试1”

bg为底色“purple”紫色

font为字体“华文行楷”以及字体大小“20”

fg为字体颜色“bule”蓝色

1.2  width,height,anchor,padx

from tkinter import *

root = Tk()
root.geometry('400x300+400+200')
root.title('title')
# ------
label2 = Label(root, text='测试2', bg='purple', font=('华文行楷', 20), fg='blue', width=8, height=3, anchor=E, padx=20)
label2.grid(row=2, column=1)
# ------
root.mainloop()

其中 grid(row=2,column=1) 代表着当前标签位置于 第二行 第一列。而因为前面没有内容行,因此标签显示在第一行。

width为宽度“8”

height为高度"3"

anchor=E为文本在标签中的位置

padx=20为文本与标签边框x轴方向上距离20

1.3  image,compound,relief

from tkinter import *

root = Tk()
root.geometry('400x300+400+200')
root.title('title')
# ------

preview = PhotoImage(file=r'Aa_图片素材库/preview.gif')
label3 = Label(root, text='图片', image=preview, compound='left', relief=SUNKEN)
label3.grid(row=2, column=2)
# ------
root.mainloop()

PhotoImage(file="....")中的file为gif图片文件位置

image与PhotoImage 一起使用,为标签显示当前图片,且图片只能为gif图片

compound为表示图片和文字一同显示,left表示图片显示在标签左边

relief为三维效果,且SUNKEN为显示方式

1.4  bitmap,bd

from tkinter import *

root = Tk()
root.geometry('400x300+400+200')
root.title('title')
# ------
label4 = Label(root, bitmap='error', bd=3, relief=SUNKEN)
label4.grid(row=2, column=4)
label5 = Label(root, relief=SUNKEN, text='bitmap位图测试')
label5.grid(row=2, column=3)
# ------
root.mainloop()

bd指定标签部件的边框宽度,这里设置为3像素

bitmap用于指定在标签部件中显示的位图。'error'表示显示一个带有问题图标的位图。它们有如下'error'、'info'、'question'等,分别代表错误、信息和问题图标。也可以自定义的位图文件。

2Button 按钮

基本属性

非常详细python图形界面组件开发教程,以代码的形式解析讲解,且所有代码都可直接运行,非常容易上手。 这系列教程完全以代码的形式来写的,目标是:读者看代码和注释就可以理解代码的意思。但这里的读者需要具备的几项技能: 1熟悉python语言的基础,如果还没有,先看一下python的教程吧,英文官方(http://docs.python.org/tut/tut.html); 2对界面编程有一定的了解,知道基本的概念就可以了; 3对Tk有兴趣,别以为她是已经过时的技术,如果丧失了学习的兴趣,那肯定无法完成了; 4不要以Ctrl+C/Ctrl+V的方式使用本教程(虽然它可以这样直接运行),自己输入,你会发现自己原来也会犯这样的错误; 5安装了python2.5且确认安装了Tkinter模块(默认就安装了,如果你没有强制的把它去掉的话),下载python2.5(http://www.python.org/download/); 6如果在阅读教程中有不明白的,不要强迫自己,直接跳过去,继续下一个内容。 Tkinter教程系列教程的特点: 7他不是一本经过文字润色的文章,全部是代码,作者在必要的时候使用注释来解释; 8以组件为章节进行介绍,每个组件又分为不同的例子,各个例子可以单独使用,分别使用序号标注; 9各个例子的使用“注释+序号”的格式表示开始,下一个例子的开始为上一个例子的结束; 10全部使用结构化编程(SP),没有面向对象的概念(OO); 11基本上包含了TKinter的所有的控件,根据每个控件的使用方法,选择性的介绍了其属性和方法,没有全部介绍,全部的介绍查看Tkinter的官方参考(http://www.pythonware.com/library/tkinter/introduction/); 12例子不是百分百的完美,甚至有的例子没有按照Tkinter参考的描述完成,原因由于作者没有看懂:( 13参考书籍:http://www.pythonware.com/library/tkinter/introduction/,如有冲突以Tkinter参考为准
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值