奋斗没有终点好好学习72变因为將来
没有人能替你阻挡81难 。
生如蝼蚁当有鸿鹄之志;
命如纸薄,应有不屈之心
今天被这句话触动了,所以开篇分享给大家鸡汤有毒,但有时大家却靠它激励自己继续前行!
也许有些人不知道这个模块但如果你安装python后,使用过自带的IDLE那么你就应该了解它。tkinter作为python自带嘚GUI模块IDLE便是通过该模块开发的,也是我比较喜欢的一个模块
easygui第一次了解这个模块,还是在小甲鱼的《零基础入门学习python》时学习的它對Tkinter进行了二次封装,使得GUI操作变得更为简单但同时也局限于表层的使用,无法自定义更优雅的实现方案
wxpython是一个Python对于wxWidgets(这是用 C++ 编写)包装后嘚产物,算是个流行的跨平台GUI工具包wxpython的优势在于运行速度较快,但编写起来较为复杂而且界面美化效果较差…当然有第三方开发的wxFormBuiler拖拽编辑器,能替代部分的底层代码实现不在乎外观但追求速度的朋友,可以考虑它
Qt是一套跨平台的C++库,不论是C++、Java还是Python都可以通过它來实现GUI界面的开发。PyQt5是Qt v5的一套全面的Python绑定它实现为超过35个扩展模块,上千个实现函数使Python能够在所有支持的平台(包括iOS和Android)上用作C++的替代开發语言。
如果你对GUI编程非常感谢兴趣可以用心学学这个模块,但如果你只是想快速的实现一些GUI的功能我更推荐大家学习tkinter模块,为i.e.是什麼意思tkinter作为python默认自带的模块库,无需单独安装
tkinter在网上存在大量的快速入门教程
tkinter实战为了证明tkinter的方便与高效今天来编写一个将图片转化為素描画的小工具,先给大家看看实现效果:
避坑指南1tktiner添加图片大家看到tktiner中附带了一个我的微信二维码,这里只是为了演示tkinter添加图片沒有丝毫推广的味道,哈哈…这里要注意下tktiner在添加图片时,PhotoImage(file='tmp.gif')要求图片必须是.gif结尾的图片否则就会报错:
2关于base64大家看到我没有加载图片,而是通过base64提前转码好二进制文件后再进行导入,这样我们打包的exe在使用时就无需附带一个图片文件了!
tkinter打包既然我们开发的是GUI工具,必须得打包成exe才更好玩啊!但是昨天有朋友反馈打包的地方说的太粗,光看动图不知道该如何操作那么今天我简单说下。
首先python的打包工具很多但我一直以来比较喜欢使用pyinstaller,当然大家也可以去尝试cx_freeze、Py2exe等
如果在软件安装时,没有将Scripts添加至系统环境变量需要手动添加箌环境变量的PATH中,否则无法在cmd下使用该命令
以往很正常的打包,有位朋友反馈使用相同的代码打包失败:
找了半天才发现从python 3.6开始enum34库不洅与标准库兼容。该库也是不必要的因此只需卸载它即可。
再次执行打包操作即可
总体代码最后附上工具的整体代码,可供大家参考: