懒人专用!十行Python代码即可生成GUI界面

懒人专用!十行Python代码即可生成GUI界面_第1张图片

有过tkinter使用经验的朋友们都会感叹,用tk控件来设计一个优美的界面,真的好难啊!既要让界面漂亮,又要让设计好每个控件的大小合适,还要兼顾每个控件的摆放位置,费时费力非常的繁琐。

小编在浏览网页的时候,突然发现一个GUI神器,叫做Gooey,号称能把任何控制台应用程序转换为非常美观的的GUI应用程序。获赞9000颗星,非常厉害。

懒人专用!十行Python代码即可生成GUI界面_第2张图片

 1 

如何安装

对于Gooey的安装非常的方便,大家只需要在终端用pip安装即可。

pip3 install Gooey

对于python3.5以上都是支持的,大家可以放心的安装。这个库安装比较慢,大家可以用清华的镜像路径安装。

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple Gooey

 2 

如何使用

那么,Gooey要如何使用呢?我们首先来看一下一个小小的程序:

懒人专用!十行Python代码即可生成GUI界面_第3张图片

  • 上图程序中,我们从Gooey库中导入了Gooey函数和GooeyParser类;

  • Gooey函数作为装饰器来进行全局变量的设置;

  • GooeyParser类用来添加我们所需要的控件信息,并进行解析;

这里,由于用到了装饰器的知识点,所以为大家简单的介绍一下装饰器的内容。

 3

啥是装饰器

装饰器是Python特有的一个概念,用的好事半功倍。很多牛逼的开源库里面都大量的用装饰器,可以节省很多重复的代码,高效美观,非常Pythonic。

装饰器本质上也是一个python的函数,它可以让其他的函数在不改变的情况下,增加了额外功能。打个比方说我们都穿袜子,袜子可以保暖,可以吸汗,但是有了袜子还不能走路,于是我们在外面穿了鞋子,在不影响袜子的作用情况下,我们有了鞋子帮助我们走路

用个小例子来看一下装饰器的作用:

懒人专用!十行Python代码即可生成GUI界面_第4张图片

  • 上述的函数中,我们可以看到,装饰器函数debug;

  • 通过传入say函数,将say函数包裹起来;

  • 然后返回包裹处理后的wrapper函数;

  • 最后,程序执行的结果可以看出,在没有改变say函数的基础上,输出了装饰器添加的功能;

如果大家想对装饰器有更深入的了解,可以去以前写的(没看完这11 条,别说你精通 Python 装饰器,2道极好的Python算法题|带你透彻理解装饰器的妙用)。

 4 

源码解读

我们回到Gooey函数中设置了“program_name”、“language”等参数,它可以设置更多的参数,例如初始界面的大小,本地图标的地址等等。

对于GooeyParser类,它的用法类似于argparse库,上述的函数中,我们添加了一个文件选择的控件和日期选择的控件,此外,还有Dropdown(下拉框)、Counter(计数器)等控件。

函数运行的界面如下图所示:

懒人专用!十行Python代码即可生成GUI界面_第5张图片

可以看到,程序只需要不断的添加我们需要的控件,程序便会自动帮助我们美化好控件的位置,而且,Gooey提供的控件更加的美观,更加的编辑,我们只需要几行代码就可以创建一个GUI控件,不需要再设置控件大小,控件的位置,等等复杂的操作。

 5

实战运用

那么,Gooey如何和我们自己写的程序相结合呢?下面,小编结合一个应用小案例,来秀一下。用的案例是前几天发的(用Python实现Instagram滤镜,变成百变女神)的文案,小编利用Gooey和Instagram滤镜来为大家进行展示,程序如下图所示。

懒人专用!十行Python代码即可生成GUI界面_第6张图片

  • 上述函数中,我们选择了文件选择框的控件,从本地选择图片;

  • 然后利用“Dropdown”控件,来选择滤镜的类型;

  • 利用“DirChooser”控件来选择图片的保存路径;

我们选择gotham滤镜时,程序便执行我们的gotham滤镜程序,处理图片,将处理后的图片保存到“DirChooser”选择的地址。

最后视频看一下效果

有兴趣的同学可以读一下这个库的源码,其实它把wxpython进行了进一步的封装,底层还是调用wxpython。但是作者封装了之后使用起来确实简便很多,有兴趣的小伙伴赶紧试一下。

end

近期十大热门:
  • 用Python一键生成炫酷九宫格图片,火了朋友圈

  • 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记

  • Github获8300星!用Python开发的一个命令行的网易云音乐

  • 一道Python面试题,硬是没憋出来,最后憋出一身汗!

  • 卧槽!Pdf转Word用Python轻松搞定!

每个程序员都是从菜鸟开始成长起来的,没有人一开始就是程序员高手。菜鸟爱编程,专注于分享趣味的编程技巧,不限于Java, Python ,Go, Javascript等语言,让菜鸟爱上编程,进阶成为高手。

菜鸟编程大本营

长按2秒,输入:【书单】

点这里,进菜鸟学PythonB站大本营

你可能感兴趣的:(编程语言,python,qt,eclipse,js)