Python开发GUI实用教程:图像转换草图绘制工具

教育动态2024-09-16 15:08:22匿名

1.tkinter

也许有些人不知道这个模块,但是如果你在安装了python之后使用过内置的IDLE,那么你应该知道它。 Tkinter 是python 自带的GUI 模块。 IDLE就是通过这个模块开发的,也是我最喜欢的模块。

2. EasyGUI

第一次了解这个模块是看了别人的教程。它对Tkinter进行了两次封装,使得GUI操作更加简单,但也仅限于表面使用,无法定制更优雅的实现。

3.wxpython

wxpython 是wxWidgets(用C++ 编写)的Python 包装器,wxWidgets 是一种流行的跨平台GUI 工具包。 wxpython的优点是运行速度比较快,但是编写起来比较复杂,而且界面美化效果较差……当然还有第三方开发的wxFormBuiler拖拽编辑器,可以替代底层代码实现的一部分。不注重外观但追求速度的朋友可以考虑一下。

4.PYQT5

Qt 是一组跨平台C++ 库。无论是C++、Java还是Python,你都可以用它来开发GUI界面。 PyQt5 是Qt v5 的一套全面的Python 绑定。它由超过35 个扩展模块和数千个实现函数实现。使Python 能够在所有支持的平台(包括iOS 和Android)上用作C++ 的替代开发语言。如果你对GUI编程非常感兴趣,可以仔细学习这个模块,但如果你只是想快速实现一些GUI功能,我推荐大家学习tkinter模块。为什么?

tkinter作为python默认的内置模块库,不需要单独安装。与wxpython和pyqt相比,tkinter制作小工具的效率更高。网上有大量关于tkinter的快速入门教程。

为了证明tkinter的方便和高效,今天我就写一个把图片转换成草图的小工具。先给大家展示一下实现效果:

避免陷阱的指南

1.tktiner添加图片

正如你所看到的,tktiner 附带了我的微信二维码。这只是为了演示tkinter 如何添加图片。没有丝毫促销味道,哈哈.这里需要注意的是,tktiner添加图片时,PhotoImage(file='tmp.gif')要求图片必须是.gif结尾的图片,否则报错将被报告:

Python开发GUI实用教程:图像转换草图绘制工具

_tkinter.TclError: 无法识别图像文件中的数据

2.关于base64

可以看到,我没有加载图片,而是提前将二进制文件通过base64转码后导入。这样我们打包的exe在使用的时候就不需要附加镜像文件了!

1importbase6423withopen('QingfengPython.gif','rb')asf:4data=f.read()5img=base64.b64encode(data)6print(img)tkinter打包

既然我们开发的是GUI工具,那么一定要打包成exe才能更好玩!但昨天有朋友反映包装说明太粗糙,光看动画都不知道怎么操作。那么今天我就简单的讲一下。

首先,python的打包工具有很多,但我一直更喜欢使用pyinstaller。当然,你也可以尝试cx_freeze、Py2exe等。

首先,我们需要安装pyinstaller:使用pip install pyinstaller。

安装完成后,会在python程序根目录的Scripts文件夹中生成pyinstaller.exe。

如果软件安装时没有将Scripts添加到系统环境变量中,则需要手动将其添加到环境变量的PATH中,否则cmd下无法使用该命令。

以前打包是正常的,但是有朋友反映使用同样的代码打包失败:

py安装程序错误

查找了很久,发现从Python 3.6开始,enum34库不再兼容标准库。这个库也是不需要的,卸载即可。 pip uninstall enum34 可以再次执行打包操作。

用户评论

君临臣

这个Python GUI教程真是太实用了,我之前一直想自己做一个图像转换工具,现在看来这个教程能帮我实现这个想法。

    有17位网友表示赞同!

怅惘

刚刚看了这个教程,草图绘制部分很详细,正愁不知道怎么入手呢,感谢分享!

    有10位网友表示赞同!

不离我

我之前用Python做过一些图形界面,但图像转换和草图绘制这块还是新手,这篇教程正好解决了我的问题。

    有7位网友表示赞同!

烬陌袅

这个教程的图像转换功能看起来很强大,我打算尝试一下,看看能不能应用到我的项目中。

    有10位网友表示赞同!

あ浅浅の嘚僾

草图绘制部分很实用,我之前一直在找这样的工具,现在终于找到了,感谢作者分享。

    有19位网友表示赞同!

败类

教程中的代码很清晰,跟着步骤一步一步来,感觉自己离成为一个GUI开发高手又近了一步。

    有17位网友表示赞同!

残留の笑颜

教程里的图像转换功能挺不错的,但我感觉草图绘制部分还可以更详细一点,希望作者能补充一下。

    有16位网友表示赞同!

一笑傾城゛

这个Python教程太棒了,我之前一直用其他语言做GUI,现在发现Python也能这么强大。

    有16位网友表示赞同!

日久见人心

教程里的代码都是开源的,太好了,我打算把学到的应用到自己的项目中。

    有13位网友表示赞同!

淡抹烟熏妆丶

我是一名图形设计师,这个教程里的图像转换功能对我来说很有帮助,感谢作者。

    有7位网友表示赞同!

凉话刺骨

教程的排版很清晰,看着就不累,特别是对于新手来说,这样的教程真的很友好。

    有6位网友表示赞同!

﹎℡默默的爱

虽然教程看起来挺全的,但有些地方还是有点难度,希望能有更详细的解释或者视频教程。

    有7位网友表示赞同!

怪咖

这个Python GUI教程让我对图像转换和草图绘制有了更深入的了解,感谢作者的辛勤付出。

    有7位网友表示赞同!

笑叹★尘世美

教程里的代码注释很到位,我跟着教程做了一下,图像转换功能很顺利,草图绘制也完成了。

    有11位网友表示赞同!

我没有爱人i

这个教程对我这种编程小白来说太有帮助了,之前一直觉得自己做不出来,现在发现原来可以这么简单。

    有14位网友表示赞同!

青墨断笺み

教程里的图像转换工具看起来很有潜力,我打算深入学习一下,希望能应用到自己的工作中。

    有18位网友表示赞同!

咆哮

这个Python GUI教程让我重新燃起了学习编程的热情,感谢作者的分享。

    有14位网友表示赞同!

柠夏初开

教程里的草图绘制功能挺实用的,我之前都是用其他软件做的,现在发现Python也可以做到,太棒了!

    有18位网友表示赞同!

最怕挣扎

这个教程让我对Python的GUI开发有了新的认识,希望作者能继续更新,带来更多实用的教程。

    有9位网友表示赞同!

相关推荐