昨天想复习一下使用Tkinter开发GUI程序,练手写了一个简单的POST工具。 源代码
必须的package有:
前者用于在linux下显示GIF窗口图标,后者用于检查文本编码,以便完成自动解码unicode。
写代码过程中遇到的问题有:
- linux和mac下的图标问题
- 窗口屏幕居中的问题
- Tkinter不支持多线程
对于第三个问题,因为Tkinter是单线程的,因此捕获到按钮点击后,需要创建另一个线程完成post动作。
自然,也可以在command对应的函数中完成HTTP请求了,但会面临窗口不能及时响应的问题。
也就是说,在HTTP请求结束前的一两秒内,窗口是无响应的。
另外,也正因为Tkinter不支持多线程。
错误提示将以红色的文本显示在Response相应的文本框中,而不是消息框提示。
在另一个线程改变文本框的内容是安全的,但创建MessageBox就不是这么回事了。