这几天我有一个想法就是将我之前做测试写的一些协议脚本(如:ssh、FTP、SMTP、MySQL、Oracle等)综合在一起做一个密码破解器,这么多的协议放在一起,每个协议都有自己特殊的参数,如果还是和之前我们的方式一起通过命令行输入的方式未免就太麻烦了。但是如果提供一个软件界面,将不同的协议作为选择项,不同协议需要不同的参数,这样一个相对方便的密码破解软件是不是就好了呢。
出于这样的考虑,今天我们看一下图形用户界面(Graphical User Interface,GUI)编程,看了一下网上python的GUI编码库有很多,但是tkinter是内置库,所以我们还是选择这个内置库作为我们的工具对象了。我们今天就来学习一下tkinter的使用。后面几天我们也将持续更新我们密码破解工具的完成过程,有兴趣的小伙伴可以和菜鸟小白一起每天完成一部分内容,最终自己完成一个软件的编写。
GUI编码流程
将你的GUI程序启动和运行起来一般需要以下五个步骤:
-
导入模块,我们使用的就是import tkinter(或者from tkinter import *)
-
创建一个顶层窗口,用于放置所有的组件
-
在顶层窗口的上面构建不同的GUI组件
-
通过底层的应用代码将这些GUI组件连接起来
-
进入主事件循环
安装和使用
好了,回归正题,看看我们今天需要学习的tkinter,因为是内置库,所以我们不需要安装直接调用即可。
python3对tkinter库进行了改写,两者的导入方式存在差异
python2导入:
import Tkinter
python3导入:
import tkinter
窗口
我们使用GUI编程,都需要新建一个顶层框架,就好像是画家在画画,我们先要拿出一张纸来承载画家的绘画内容。我们新建的这个顶层框架也是一样,用来盛放所有的GUI组件(如:按钮(Button)、文本输入框(Entry)、菜单(Menu))。我们新建的方式一般是这样的。
import tkinter
window = tkinter.Tk(