01
Tkinter
Tkinter模块是 Python 的标准Tk GUI工具包的接口,它并不是必须掌握的,但是 掌握一个Python的标准图形库还是非常有意思的一件事 。
它可以跨平台运行在 Windows,Linux和Mac等系统上。
这篇文章不会介绍如何灵活地运用Tkinter,而是阐述Tkinter这个库包括什么,它能干什么!
02
第一个Tk-GUI
from tkinter import *
root=Tk()
root.title('first tk gui')
root.geometry('500x200')
x = Label(root,text='Hello',bg='green',font=('Arial',12),width=15,height=2)
x.pack()
x.mainloop()
首先导入tkinter 模块,这个模块包括了所需要的所有的类和函数
然后,需要创建一个(根)窗口,它是一个普通的窗口,带有标题栏、最小化按钮、最大化按钮等,即:root = Tk() ,调用title接口,geometry分别设置根窗口的标题,大小。
然后我们就可以在该窗口上创建一个Label,即贴一个标签,这个Label可以显示文本、图标、图像等等。我们这里使用text来指定要显示的文本,而第一个参数root,表明x的父控件是root,bg属性表示label的背景色,font指明文本所用字体,width,height指明label的宽度和高度。
接下来,调用这个Label的pack方法,pack方法属于Pack类(属于几何管理器), tk中的每一个控件都继承自 class Widget(BaseWidget, Pack, Place, Grid),Widget都继承于Pack,Place,Grid,它们都属于几何管理器类。
最后一行代码,x.mainloop()即可进入事件循环了,mainloop定义在Misc类中(Methods defined on both toplevel and interior widgets)。
这样一个最简单的界面程序就完成了。
03
梳理第一个GUI用到的类
Wm (Provides functions for the communication with the window manager) ; Misc (Methods defined on both toplevel and interior widgets)
|
|--- BaseWidget
|
|--- Widget
| Pack, Grid, Place
| | | |
|---- --- Label
04
Tkinter控件梳理
Button 按钮控件;在程序中显示按钮
Canvas 画布控件;显示图形元素,如线条或文本
Checkbutton 多选框控件,用于在程序中提供多项选择框
Entry 输入控件;用于显示简单的文本内容
Frame 框架控件;在屏幕上显示一个矩形区域,多用来作为容器
Label 标签控件;可以显示文本和位图
Listbox 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
Menubutton 菜单按钮控件,由于显示菜单项。
Menu 菜单控件;显示菜单栏,下拉菜单和弹出菜单
Message 消息控件;用来显示多行文本,与label比较类似
Radiobutton 单选按钮控件;显示一个单选的按钮状态
Scale 范围控件;显示一个数值刻度,为输出限定范围的数字区间
Scrollbar 滚动条控件,当内容超过可视化区域时使用,如列表框
Text 文本控件;用于显示多行文本
Toplevel 容器控件;用来提供一个单独的对话框,和Frame比较类似
Spinbox 输入控件;与Entry类似,但是可以指定输入范围值
PanedWindow PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。
LabelFrame labelframe 是一个简单的容器控件。常用与复杂的窗口布局。
tkMessageBox 用于显示你应用程序的消息框。
05
Tkinter共用属性
Dimension控件大小;
Color控件颜色;
Font控件字体;
Anchor锚点;
Relief控件样式;
Bitmap位图;
Cursor光标;
算法channel会有系统地,认真地推送:基础算法/机器学习/深度学习/spark/tensorflow等全栈内容。期待您的参与!QQ交流群: 646901659 或进入公众号界面->导读系列下,进入微信讨论群。
查看原文: Python-GUI|Tkinter模块