GUI编程
如果同学们有过C++或者C#或者VB等语⾔的编程经验,甚⾄是咱们⾃⼰国
家的易语⾔编程,它们都有⼀些可以通过拖拽的⽅式来编辑界⾯的⼯具。
但是很可惜,在Python⾥⾯这种⼯具并不多,这也是和Python是⼀个脚本语
⾔有关。
要说tkinter,先说tk,它原本是Tcl编程语⾔的界⾯库,后来开发出了
Python接⼝,Tkinter在Python2和Python3中的变化较⼤,在Python2中叫
做Tkinter,在Python3中叫做tkinter,⽽且在导⼊类库的时候也有些许的变
化,请读者稍加注意。
tkinter的定位
掌握⼀⻔Python的界⾯编程也很有意思。有时候我们需要⼀些界⾯程序,但
是⼜不想⽤那些庞⼤⽽繁杂的类库的时候,tkinter的优势就显现出来了,那就
是简洁简单。
我感觉tkinter是⼀个还不错的界⾯库,但是我感觉Python并不是特别擅⻓编
写界⾯应⽤,⽽且我感觉⽐如wxPython或者pyQt等更胜⼀筹,但是不管怎
么样,我们可以通过Python⾃带的tkinter,进⼊GUI编程的世界。
传智播客⼤猫
前⾔:GUI与tkinter
2
Tkinter简介
1. 提到Tkinter,不得不提⼀下GUI。GUI即graphicaluserinterface,即图形界⾯⽤户接
⼝,是相对于我们学习绝⼤多数编程语⾔所接触到的“控制台”的那个⿊乎乎的命令⾏
来说,区分的图形界⾯编程模式。
2. Tkinter是Tk的Python接⼝,⽽Tk原本是Tcl的GUI库,Tcl是⼀⻔语⾔,具体我就不
多说了。
Tkinter的优点和缺点
1. 简单易学,相对于其他的⽐如wxPython,PyQt等等,学起来会⾮常轻松。
2. 可以使⽤少量的代码产⽣功能强⼤的GUI界⾯,这⼀点是相对于C++等语⾔来说
的,这也是作为⼀⻔脚本语⾔令⼈⾃豪的地⽅。
3. 跨平台,基于Python优良的平台通⽤性,同样的代码可以在不同的平台下编译执⾏,
当然这⼀点也可能会涉及到“跨平台同时也会丧失平台优势”等问题。
4. 内置与Python⾥⾯的,不需要我们单独去安装,⽅便了很多,⽽且Tkinter也是⼀个
Python⾥⾯的标准。
5. 缺点就是功能过于简单,对于⼀些很⼤型的应⽤,Tkinter提供的功能还是太少了。
但是Tkinter会不断进步,⽽且他是Python内置的GUI库,有点嫡系的感觉,我们有理
由相信它会越来越棒!
6. 还有⼀个缺点是相对于C++来说的,它的效率问题还是不算太⾼,对于⼀些对画⾯要求
很⾼的,可能效果会有影响。
认识tkinter
认识tkinter
3
1. Tkinter读的时候,T和K分别发⾳,inter单独发⾳,即读⾳如下“tea-key-inter”。该模块
在我们安装python的时候,就可以选择⼀起安装。
2. ⽐如说,我的Python3安装⽬录是:C:\Intel\Python3,则进⼊该⽬录,可以发现有不少
的Tkinter的影⼦。⽐如在DLLs⼦⽬录下,可以看到如下动态链接库⽂件,截图如
下(注意tk86t.dll是与该模块直接相关的):
认识tkinter
4
3. 在Lib⼦⽬录下,我们可以看到⼀个名为tkinter的⼦⽂件夹,截图如下:
4. 进⼊该⽂件夹,可以看到⾥⾯的全部⽂件,⼤多数都是.py⽂件,还有两个⽂件夹,第⼀个
是和缓存有关的,第⼆个是和测试有关的,剩下的都是py⽂件,下⾯是截图:
5. 这些⽂件分别负责不同的功能,我们下⾯进⼊这个__init__.py,它有163K⼤⼩,且代
码有3857⾏。init.py⾥有我们平时所频繁使⽤的绝⼤多数类,如果以后⼤家有什么
新问题,可以通过阅读该⽂件来得到答案,因为源代码都给我们了,掌握了源代码就是掌
握了第⼀⼿资料,解决问题会更加⽅便⼀些。
6. 其实在我们的安装模块中,还有⼀些其他的东⻄有着tkinter的影⼦,我就不⼀⼀介绍
了。
开始前的测试
1. 在我们编程之前,先开始⼀个⼩测试把,它只需要两⾏代码。
认识tkinter
5
评论0