学习 Tkinter 最好的实例:Python 的 IDLE 源代码获取,以及初步试玩

一、引言

最近疯狂沉迷 Python 的 Tkinter 库。这是 Python 自带的界面库,附带的 IDLE 就是用它编写的。

那么,如果我们学完了 Tkinter,想要看看 IDLE 的源代码,该去哪里找呢?

二、找到 IDLE 源代码

IDLE 的源代码与 Python 是一同下载安装的。因为我使用的是 Windows 环境,我也就只能介绍下 Windows 环境中,IDLE 的源代码的寻找方法:

1. 在搜索栏搜索 IDLE,只要是正常安装了 Python3.6.0 之后的版本的用户,都是可以搜到 IDLE 的运行程序的,这里我们右键点击 打开文件位置
学习 Tkinter 最好的实例:Python 的 IDLE 源代码获取,以及初步试玩_第1张图片
如图,我们就找到了 IDLE 显示在快速启动栏地方的快捷方式,但是这里依然不是我们要找的最终的地方,我们右键 -> 属性 -> 快捷方式,查看 目标 里面的执行信息
学习 Tkinter 最好的实例:Python 的 IDLE 源代码获取,以及初步试玩_第2张图片
这里,我的执行信息是

C:\Users\Think\AppData\Local\Programs\Python\Python37\pythonw.exe “C:\Users\Think\AppData\Local\Programs\Python\Python37\Lib\idlelib\idle.pyw”

也就是说,IDLE 是通过 pythonw.exe 加上参数 idle.pyw 运行出来的,而 C:\Users\Think\AppData\Local\Programs\Python\Python37\Lib\idlelib 就是我们要找的 IDLE 的源代码的位置

2. 让我们打开上述找到的 idle.pyw 所在目录,这就是我们要找的 IDLE 的源代码文件啦
学习 Tkinter 最好的实例:Python 的 IDLE 源代码获取,以及初步试玩_第3张图片
我们可以简单拷贝一份 idlelib 整个文件夹的备份出来,然后自行观摩修改试验去研究 IDLE 的源代码了。

三、IDLE 源码可以怎么玩?

IDLE 的源码看懂也不是很困难,主要是使用了 Tkinter 界面库。就像 IDLE 有两种模式,命令模式和编辑模式一样,源码里面也切切实实反应了这两种模式分别对应界面及其功能的开发。

这里,我建议可以拷贝一份 idlelib 文件夹出来,然后使用 Git 等版本管理工具在本地提交备份,日后随便你怎么修改,都可以通过 Git 的管理功能还原回去,非常的方便。

如果你想要获取到更多关于 IDLE 的信息,建议查看下官方文档关于 IDLE 的介绍,或许会对你理解 Tkiner 或者 IDLE 的项目架构有很多帮助,相关链接如下(点击这篇文档,里面有个专题专门讲解 IDLE 的, 感兴趣可以看看):
Graphical User Interfaces with Tk

至于 IDLE 源码应该怎么玩怎么运行呢?其实很简单,毕竟这么多 Py 文件,只要带有 main 的都可以试试看,这里我简单试了几个:

1. idle.py
idle.py 运行出来,直接就是完完整整的 IDLE 程序,默认出来是命令模式

# windows 平台下
py -3 idle.py

学习 Tkinter 最好的实例:Python 的 IDLE 源代码获取,以及初步试玩_第4张图片

2. editor.py
editor.py 主要是对应于 IDLE 的编辑模式,运行这个文件会弹出一个提示框,点击掉就可以进入编辑模式了

py -3 editor.py

学习 Tkinter 最好的实例:Python 的 IDLE 源代码获取,以及初步试玩_第5张图片

学习 Tkinter 最好的实例:Python 的 IDLE 源代码获取,以及初步试玩_第6张图片

3. browser.py
browser.py 主要是实现模块代码查看的,相当于一个文件夹展示器,同样运行出来会有一个提示框,点击掉显示界面

py -3 browser.py

学习 Tkinter 最好的实例:Python 的 IDLE 源代码获取,以及初步试玩_第7张图片

4. textview.py
textview.py 主要实现了一个文本查看控件,同样运行出来会有个提示框,点击掉显示界面

py -3 textview.py

学习 Tkinter 最好的实例:Python 的 IDLE 源代码获取,以及初步试玩_第8张图片

5. stackviewer.py
stackviewer.py 主要实现了一个栈查看界面,同样运行出来会有个提示框,点击掉显示界面

py -3 stackviewer.py

学习 Tkinter 最好的实例:Python 的 IDLE 源代码获取,以及初步试玩_第9张图片

等等,我们可以查看 IDLE 的源代码来获取到自己想要获取到的信息,对于我们学习 Tkinter 库的人来说,IDLE 就是一个活生生的教学模板,而且得益于 Python 的特性,我们可以边玩边学,学习过程真的是非常的愉快。

四、总结

Tkinter 在 IDLE 上面获得了集大成的展现。

作为一个个人开发者,出于兴趣想要学习下 Tkinter 来做一些小工具,看看 IDLE 源码是非常好的。而我还处于刚刚学习 Tkinter 的阶段,很多都不敢妄言。

不过,我希望能有更多的人愿意接触到去学习 Tkinter 库,去探索 IDLE 的奥秘。

To be Stronger:)

你可能感兴趣的:(python)