用户:亦舟查看:1 回复:11 评论:1 创建时间:2018-01-12T13:50:49
【前言】
Python的GUI有很多, 我们在第二期学的EasyGUI就是最简单的一个,不过实在是太简单了。今天我们来看一个难度有所提高的工具包,也是Python用它来开发IDLE的GUI包——Tkinter。
【正式开始】
一、Tkinter初体验
GUI是Graphical User Interface的简称,意思是图形用户界面,适合电脑小白使用。
前面已经说过了,Tkinter是Python标准的GUI库,是建立在Tk技术上的。Tkinter越来是为Tcl(不是那个电视机品牌)服务的,后来一移植到Python上,还有Perl、Ruby都有这个库。 因为IDLE就是Tkinter开发的,所以这个包是不需要下载的。接下来从最简单的栗子入手,请看下面代码:
运行结果如下:
当然你可以拖动它的边框调整窗口大小。
tkinter.mainloop()一般都是tkinter程序的最后一行代码,它代表执行后程序进入主循环事件,不然程序是无法进行的。
三、开发一个更大的窗口程序
上面我们初步认识了tkinter的用法,也是非常简单的。但如果我们要开发一个更大的程序,就可以用到学习过的面向对象的内容,把代码进行封装:
那么代码上面有一个def __init__是什么意思呢,这个问题在上一个面向对象没有涉及到,但是相信大家都知道def是用来定义方法的。那么这个__init__()到底是什么呢?我们通常把这个方法称为“构造方法”,其主要功能就是这个类被实例化为一个对象时,那么这个方法就会被在对象创建时自动调用,就不需要我们手动输入调用该方法了。
Button(按钮组件)里面有几个参数:frame,Text,fg,command。
Frame就是用来创建一个矩形,可以用来容纳组件,我们这里容纳button。
Text:文本组件,不多说了
Fg:前景颜色
Command:这个是重点,当此按钮组件被点击时,会发出相应的指令。供 给我们底下一个方法用。
运行结果如下:
会发现出现一个这么样的小窗口,点击按钮会在命令行里这样输出: