Python Tkinter图形工具使用方法及实例解析


Posted in Python onJune 15, 2020

Tkinter 常用组件

按钮

  • Button 按钮组件
  • RadioButton 单选框组件
  • CheckButton 选择按钮组件
  • Listbox 列表框组件

文本输组件

  • Entry 单行文本框组件
  • Text 多行文本框组件

标签组件

  • Label 标签组件,可以显示图片和文字
  • Message 标签组件, 可以根据内容将文字换行

菜单

  • Menu 菜单组件
  • MenuButton 菜单按钮组件,可以实用Menu代替

滚动条

  • Scale 滑动组件
  • Scrollbar 滚动条组件

其他组件 Canvas 画布组件

  • Frame 框架组件,将多个组件编组
  • Toplevel 创建子窗口容器组件

组件的大致实用步骤创建总面板创建面板上各种组件

1.指定组件的父组件,即依附关系

2.利用相应的属性对组件进行设置

3.给组件安排布局最后启动总面板的消息循环组件布局

控制组件的摆放方式

三种布局:

  • pack: 按照方位布局
  • place: 按照坐标布局
  • grid: 网格布局

pack布局

  • 最简单,代码量最少,挨个摆放,默认从上到下,系统自动设置
  • 通用实用方式为:组件对象.pack(设置......)
  • side:停靠方位,可选值为LEFT,TOP,RIGHT,BOTTOM
  • fill:填充方式,x,y,BOTH,NONE
  • expande:YES/NO 扩充
  • anchor:N,E,S,W,CENTER
  • ipadx:x方向的内边距
  • ipady:y
  • padx:x的外方向边界
  • pady:y

grid布局

  • 通用使用方式:组件对象.grid(设置......)
  • 利用row,cblumn编号,都是从0开始
  • sticky:N,E,S,W表示上下左右,用来决定组件从哪个方向开始
  • 支持ipadx,padx等参数,跟pack函数一样
  • 支持rowspan,columnspan,代表跨行,跨列数列

place布局:

  • 明确方位的摆放
  • 相对位置布局,随意改变窗口大小会导致混乱
  • 使用place函数,分为绝对布局和相对布局,绝对布局使用X,Y参数
  • 相对布局使用relx,rely,relheight,relwidth

案例1:创建一个自己定义的弹窗、并且里面有文字内容

执行完成就会弹出一个白色定义好的小方框,里面的内容就是你定义的

import tkinter

base = tkinter.Tk()                # 创建总面板
# 负责标题
base.wm_title("Label Test")            # 创建面板的标题
lb = tkinter.Label(base, text="Pyhton Label")   # 创建一些内容,把创建的内容指定给我之前创建好的名为base的面板,Pyhton Label为面板的内容
# 给相应组件指定布局 
lb.pack()                     # 给相应组件指定布局
base.mainloop()                  # 启动总面板的消息循环(大致意思了解为启动这个面板)

Python Tkinter图形工具使用方法及实例解析

案例2:Button案例,创建一个弹窗,里面生成一个按钮,当按钮被按下去的时候,执行我定义的函数

import tkinter
def showlabel():
  global baseFrame   # 调用全局变量,baseFrame,也可以把baseFrame = tkinter.Tk() 放到函数上面
  lb = tkinter.Label(baseFrame, text="我是函数里面的内容")
  lb.pack()

if __name__ == '__main__':
  baseFrame = tkinter.Tk ()
  btn = tkinter.Button(baseFrame, text="点击我、就会执行函数", command=showlabel) # command为指定要执行的函数,不填默认不执行
  btn.pack()
  baseFrame.mainloop()

执行结果如下:

Python Tkinter图形工具使用方法及实例解析

pack布局

  • 最简单,代码量最少,挨个摆放,默认从上到下,系统自动设置
  • 通用实用方式为:组件对象.pack(设置......)
  • side:停靠方位,可选值为LEFT,TOP,RIGHT,BOTTOM
  • fill:填充方式,x,y,BOTH,NONE
  • expande:YES/NO 扩充
  • anchor:N,E,S,W,CENTER
  • ipadx:x方向的内边距
  • ipady:y
  • padx:x的外方向边界
  • pady:y

案例3:pack 布局案例

# pack 布局案例
import tkinter


def button1():
  # 函数内所有代码都是创建一个组件,然后布局
  global baseFreame
  btn1 = tkinter.Button(baseFreame, text='A')
  btn1.pack(side=tkinter.LEFT, expand=tkinter.YES, fill=tkinter.Y)

  btn2 = tkinter.Button(baseFreame, text='B')
  btn2.pack(side=tkinter.TOP, expand=tkinter.YES, fill=tkinter.BOTH)

  btn3 = tkinter.Button(baseFreame, text='C')
  btn3.pack(side=tkinter.RIGHT, expand=tkinter.YES, fill=tkinter.NONE, anchor=tkinter.NE)

  btn4 = tkinter.Button(baseFreame, text='D')
  btn4.pack(side=tkinter.LEFT, expand=tkinter.NO, fill=tkinter.Y)

  btn5 = tkinter.Button(baseFreame, text='E')
  btn5.pack(side=tkinter.TOP, expand=tkinter.NO, fill=tkinter.BOTH)

  btn6 = tkinter.Button(baseFreame, text='F')
  btn6.pack(side=tkinter.BOTTOM, expand=tkinter.YES)

  btn7 = tkinter.Button(baseFreame, text='G')
  btn7.pack(anchor=tkinter.SE)

if __name__ == '__main__':

  baseFreame = tkinter.Tk()
  button1 ()
  baseFreame.mainloop()

执行结果如下:

Python Tkinter图形工具使用方法及实例解析

grid布局

  • 通用使用方式:组件对象.grid(设置......)
  • 利用row,cblumn编号,都是从0开始
  • sticky:N,E,S,W表示上下左右,用来决定组件从哪个方向开始
  • 支持ipadx,padx等参数,跟pack函数一样
  • 支持rowspan,columnspan,代表跨行,跨列数列

案例3:grid布局案例

import tkinter

def button1():
  # 函数内所有代码都是创建一个组件,然后布局
  global baseFreame
  btn1 = tkinter.Label(baseFreame, text='账户:')
  btn1.grid(row=0, sticky=tkinter.W)
  en = tkinter.Entry(baseFreame)
  en.grid(row=0, column=1, sticky=tkinter.E)

  btn2 = tkinter.Label(baseFreame, text='密码:')
  btn2.grid(row=1, sticky=tkinter.W)
  en2 = tkinter.Entry(baseFreame)
  en2.grid(row=1, column=1, sticky=tkinter.E)

  btn2 = tkinter.Button(baseFreame, text='登陆')
  btn2.grid(row=2, column=1, sticky=tkinter.W)

if __name__ == '__main__':
  baseFreame = tkinter.Tk()
  button1()
  baseFreame.mainloop()

执行结果如下:

Python Tkinter图形工具使用方法及实例解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用PYTHON接收多播数据的代码
Mar 01 Python
python 计算文件的md5值实例
Jan 13 Python
python实现猜数字小游戏
Mar 24 Python
python中plot实现即时数据动态显示方法
Jun 22 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
Python实现图片添加文字
Nov 26 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
Apr 22 Python
python读取xml文件方法解析
Aug 04 Python
详解Python GUI编程之PyQt5入门到实战
Dec 10 Python
python中pickle模块浅析
Dec 29 Python
Python 中的函数装饰器和闭包详解
Feb 06 Python
python基础之文件操作
Oct 24 Python
使用Keras画神经网络准确性图教程
Jun 15 #Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 #Python
python中元组的用法整理
Jun 15 #Python
详解Python设计模式之策略模式
Jun 15 #Python
python能做哪方面的工作
Jun 15 #Python
python实现二分类和多分类的ROC曲线教程
Jun 15 #Python
python属于解释型语言么
Jun 15 #Python
You might like
php 全文搜索和替换的实现代码
2008/07/29 PHP
php函数连续调用实例分析
2015/07/30 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
2015/05/06 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
javascript canvas API内容整理
2020/02/16 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
Python的Tornado框架实现图片上传及图片大小修改功能
2016/06/30 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
2020/07/20 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
Python 多线程其他属性以及继承Thread类详解
2019/08/28 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
千禧酒店及度假村官方网站:Millennium Hotels and Resorts
2019/05/10 全球购物
财务信息服务专业自荐书范文
2014/02/08 职场文书
爱我中华演讲稿
2014/05/20 职场文书
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
喝酒驾驶检讨书
2014/10/01 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
2015党建工作简报
2015/07/21 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python