当前位置:   article > 正文

使用Python开发美观GUI

实现美观的gui界面

之前,我有一篇文章《Python GUI美化小技巧》,其中提到了两种美化GUI的方式,嗯,两种方式我都不太满意。

Tkinter Designer需要学习Figma这款设计软件如何使用,其美化GUI的原理就是用图片去填充,从而让Tkinter有比较美观的样式,抱歉,我暂时还不想学Figma。

而文中另外一个方案:TTk Bootstrap其实是更大的坑,如果你只是开发单窗口GUI软件,TTkBootstrap挺好的,但当你有开启一个窗口后,关闭并开启另外一个新窗口的需求时,TTKBoostrap就是一个大坑,新的窗口会丢失掉相应的样式。

我希望Python生态中有类似Electron的库,让我们可以利用HTML、CSS、JS来构建前端页面,而后端的逻辑使用Python来实现,这样就可以轻松构建出美观的GUI了。

有我微信好友的朋友应该知道,上两周我发布了视频同步助手,可以帮助大家将视频一键同步到6个不同的媒体平台,这个软件便使用PyWebView框架开发,软件界面如下:

d29c8e9a716b4a78e489253619886b12.png b7ff3cabc6feaae4b1401f51885c700c.png 320ea2ada4c48b3081622af58368cafc.png 80ac8a2f14a680b3bdf35075cff878e9.png 7098c2339a22fd2642af59ef27dc9182.png

PyWebView可以让你通过HTML、CSS、JS来构建GUI的前端页面,使用Python来实现软件中的业务逻辑,再配合使用Pyinstaller实现软件打包,便可以构建一个美观的GUI应用了。

遗憾的是PyWebView资料比较少,Github的star数也不多,我实际操作下来,有些Windows平台无法打开,因精力有限,也没有去深究为何无法打开。

本文便简单介绍PyWebView的使用方法,相比于官方文档,会突出其中遇到的坑和相应的解决方案,也算是视频同步助手这个项目的技术复盘吧(嗯,变现阶段失败了,所以)。

简单使用

光读PyWebView的文档,是比较难起步的,比较好的方式是去PyWebView的github中将源码拉下来,其中有example目录,提供了一下例子项目,其中要搞懂的核心逻辑是,前端JS写的逻辑,怎么去与Python互通。

PyWebView提供了js api和接口请求这两种方法,先看js api。

JS api

在实例化webview时,将定义好的Api类实例作为js_api的参数传入:

  1. class Api():
  2.     def addItem(self, title):
  3.         print('Added item %s' % title)
  4.     def removeItem(self, item):
  5.         prin
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/724488
推荐阅读
相关标签
  

闽ICP备14008679号