python中tkinter模块pack_Python-GUI|Tkinter模块

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中tkinter模块pack_Python-GUI|Tkinter模块)