Py之tkinter:tkinter库的简介、安装、使用方法之详细攻略
目录
1.2、tkinter窗口的基础组件介绍、Canvas控件介绍
Button的command/Label/PhotoImage/封装为类的案例应用
tkinter库的简介
tkinter包(“Tk接口”)是Tcl/Tk GUI工具包的标准Python接口。Tk是唯一的跨平台(Windows、Mac、Unix)图形用户界面工具包,专门为高级动态语言设计,如Python、Tcl、Ruby、Perl和许多其他语言。Tk和tkinter都可以在大多数Unix平台(包括macOS)和Windows系统上使用。绑定了 Python 的 Tk GUI 工具集 ,就是Python 包装的Tcl代码,通过内嵌在 Python 解释器内部的 Tcl 解释器实现, tkinter的调用转换成 Tcl 命令,然后交给 Tcl 解释器进行解释,实现 Python 的 GUI 界面。历史悠久,perl中有对应的perlTk。对比Tk和其它语言的绑定,比如 PerlTk ,是直接由 Tk 中的 C 库实现的。
GUI library for Python,Python支持GUI自带的库。tkinter=TK+interface最初是给TK设计的。
tkinter支持一系列的Tcl/Tk版本,构建时可以支持线程,也可以不支持线程。正式的Python二进制版本捆绑了Tcl/Tk 8.6线程。tkinter不是一个很薄的包装器,而是添加了大量自己的逻辑,使体验更加python化。
tkinter 的介绍 : http://en.wikipedia.org/wiki/tkinter
官方文档:tkinter — Python interface to Tcl/Tk — Python 3.10.7 documentation
TkDocs:TkDocs Home
特点 | (1)、历史最悠久, Python 事实上的标准 GUI; (2)、易学易用,方便创建简单GUI; (3)、跨平台 (4)、布局全靠代码实现,15种常用部件,效果简陋。 |
优缺点 | |
应用 | (1)、著名的 IDLE 就是使用 tkinter 实现,Python 内嵌的gui环境,使用TCL实现,python IDLE由tkinter实现。 |
tkinter库的安装
Python3标准安装包中自带tkinter,即不用安装,导入即可使用。可以从命令行运行python -m tkinter会打开一个窗口,演示一个简单的Tk接口,证明tkinter已正确安装在系统上。
python -m tkinter
tkinter库的使用方法
1、tkinter的控件简介
1.1、tkinter的三种布局方式
Place:指定控件的位置和大小;是tkinter中最简单的布局管理器,它允许用户显式地设置窗口的大小和位置,无论是绝对值,或相对于另一个窗口。Place方法对所有基础控件都是可用的。
Pack:打包控件为一行或一列;Pack布局管理器将所有控件简单组织为一行或一列,用户可以使用expand,fill,both等选项对控件的样式进行控制。
Grid:按网格组织控件;Grid布局管理器将所有控件分布在一个二维的表格中,宿主控件将内部空间按行和列分割成若干单元格,然后每一个单元格内可以放置一个控件。
注意:官方不推荐使用Place布局管理器而建议都使用Grid布局管理器;另外Pack和Grid同时使用可能会导致程序的崩溃。
1.2、tkinter窗口的基础组件介绍、Canvas控件介绍
(1)、基础组件介绍
Label标签: Button按钮: Checkbutton单选按钮: Radiobutton多选按钮: Entry输入框: Text文本框:更加强大。 | Scrollbar滚动条: Listbox列表框: Frame框架: LabelFrame框起来的框架: Scale范围滚动选择确切值: |
(2)、图形绘制Canvas控件介绍
Canvas组件支持对象 | ·arc:弧形、弦或扇形; ·bitmap:内建的位图文件或XBM格式的文件; ·image:BitmapImage 或 PhotoImage的实例对象; ·line:线; ·oval:圆或椭圆形: ·polygon:多边形: ·rectangle:矩形: ·text:文本: ·window:组件: |
坐标系 | 由于画布可能比窗口大(带有滚动条的Canvas组件),因此Canvas组件可以选择使用两种坐标系 ·窗口坐标系∶以窗口的左上角作为坐标原点 ·画布坐标系∶以画布的左上角作为坐标原点 将窗口坐标系转换为画布坐标系,可以使用canvasx()或canvasy()方法; |
2、tkinter的函数简介
更新中……
tkinter的经典案例集合
1、基础案例
Button的command/Label/PhotoImage/封装为类的案例应用
Button展示图片事件的案例应用
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Button展示图片事件)_一个处女座的程序猿的博客-CSDN博客
LabelFrame/Checkbutton/Radiobutton的案例应用
text.insert/link各种事件的案例应用
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(text.insert/link各种事件)_一个处女座的程序猿的博客-CSDN博客
Find/undo事件的案例应用
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Find/undo事件)_一个处女座的程序猿的博客-CSDN博客
Menu的Command的案例应用
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Menu的Command)_一个处女座的程序猿的博客-CSDN博客
Entry/Entry的Command的案例应用
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)_一个处女座的程序猿的博客-CSDN博客
Scale/Scale的Command的案例应用
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Scale/Scale的Command)_一个处女座的程序猿的博客-CSDN博客
Listbox/Scrollbar的案例应用
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Listbox/Scrollbar)_一个处女座的程序猿的博客-CSDN博客
Canvas的案例应用
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Canvas)_一个处女座的程序猿的博客-CSDN博客
2、综合案例集合
Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界_一个处女座的程序猿的博客-CSDN博客
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(计算器简单功能)_一个处女座的程序猿的博客-CSDN博客
python:程序猿的方式在元宵佳节之际,带你设计【东方明珠】动画浪漫烟花秀(python编程利用Tkinter+PIL库)_一个处女座的程序猿的博客-CSDN博客
Crawler:利用python语言结合tkinter库设计GUI界面实现智能获取百度网盘资料目录并自动存为txt文件(基于百度云的BaiduYunCacheFileV0.db数据文件)