
Python易于使用。 在其中,您可以找到大量用于任何内容的库。 这是他的主要优势。 只需几行代码,您就不会做任何事情。 如果您需要个人使用或精通技术的脚本,那么您甚至不必考虑图形界面。
但是,有时您的目标受众不是很精通技术。 人们不介意使用您的Python脚本,直到他们只需要看一行代码。 在这种情况下,命令行脚本是不够的。 理想情况下,您需要图形界面。 这篇文章的目的是仅使用Python。
可用于GUI的Python库
本质上,GUI有3个很棒的Python库。 Tkinter,wxPython和PyQT。 看着它们,我没有发现关于Python的任何东西。 Python库倾向于从超级技术问题中很好地抽象出来。 如果需要使用面向对象的编程,则可以下载Java或.Net。

本文是在EDISON Software的支持下翻译的,EDISON Software 照顾了程序员的健康和早餐 ,并开发了定制软件 。
但是,幸运的是,我遇到了我喜欢的第四个选项。 这是PySimpleGUI,我仍然使用它。 奇怪的是,该库使用了上面讨论的所有3种流行的库,但同时又从超级技术要点中提取了摘要
让我们深入研究这个库,并在解决一个实际问题的同时对其进行研究。
检查两个相同的文件
我在文章“在Python中比较数据的3种快速方法”中介绍了如何执行此操作。 我们可以使用第一部分(数据完整性检查)来尝试创建用户界面。
实际上,我们需要下载两个文件,然后选择要用于比较文件的加密。
编程GUI
要创建图形界面,可以使用以下代码:
import PySimpleGUI as sg layout = [ [sg.Text('File 1'), sg.InputText(), sg.FileBrowse(), sg.Checkbox('MD5'), sg.Checkbox('SHA1') ], [sg.Text('File 2'), sg.InputText(), sg.FileBrowse(), sg.Checkbox('SHA256') ], [sg.Output(size=(88, 20))], [sg.Submit(), sg.Cancel()] ] window = sg.Window('File Compare', layout) while True:
结果,我们得到:

我们连接逻辑
当有一个用户界面时,很容易理解如何连接其余代码。 我们只需要跟踪用户输入的内容并采取相应的措施即可。 我们可以使用以下代码轻松完成此操作:
import PySimpleGUI as sg import re import hashlib def hash(fname, algo): if algo == 'MD5': hash = hashlib.md5() elif algo == 'SHA1': hash = hashlib.sha1() elif algo == 'SHA256': hash = hashlib.sha256() with open(fname) as handle:
他会给我们这个结果:

最后的想法
这可能不是最漂亮的用户界面,但是PySimpleGUI允许您快速部署简单的Python用户界面并与任何人共享。 为此所需的代码简单易读。 您仍然会在运行代码以获取用户界面时遇到问题。 因此,共享代码可能很困难。 我建议您下载PyInstaller之类的东西,它将把您的python脚本转换为.exe文件。 人们只需单击两次就可以启动它。

另请阅读博客
EDISON公司:
20个图书馆
壮观的iOS应用程序