
但是HTML + CSS + js是运行在浏览器里的,这个系列文章就是要打破python和前端的壁垒,让它们携手打造桌面程序。
那么这个心思路就是,利用pyqt5的QtWebEngineWidgets和QtWebChannel来做媒介,
python完成后台功能,HTML + CSS + js完成全部的界面功能。
界面需要python功能时,js方便的调用python函数并获取返回值。这样各自完成擅长部分,想想都有点小激动呢。
那这样是否靠谱呢?
根据笔者的目前尝试,感觉还是很靠谱的:
1 运行不卡顿,相对于纯的pyqt我感觉这种界面运行起来更流畅。
2 QtWebEngineWidgets移植V8引擎,基本和谷歌的效果是一样的。Vue这样的框架也可以直接引用。
讲QtWebEngineWidgets的文章有很多,我学习这个时候看到网上的很多文章也和受益,但是,基本都是讲的一样的,没有深挖。
首先,QtWebEngineWidgets和QtWebChannel是可以实现双向交互的,但是,在应用的过程中我发现,python调用js会比较简单,有现成的语法可用,而且传输过程中有的数据的类型都不用转换。而且能获取到js的返回值。
而js调用python就复杂一点,传递类型也只能字符串和int(目前我测试的结果是这样),目前网上大多的例子就是基于共享属性这个概念,js是可以调用python函数,但是没法获取到返回值。
但是应用中你就会发现,基本都是js调用python,比如界面中的按钮点击后需要执行数据分析,然后将结果渲染在界面上。那么过程就是js调用py并获取返回值。
今天的内容就是这些,喜欢的可以点赞支持,如果点赞较多,关于这个知识点我将继续做一期有趣的内容。谢谢!
这里介绍3个python桌面开发的包,分别是tkinter,wxpython和pyqt,这3个包都可以快速的开发出桌面应用,下面我简单介绍一下这3个包的安装和使用,实验环境win10+python3.6+pycharm5.0,主要内容如下:
1.tkinter:这个是python自带的开发桌面GUI的标准库,不需要安装,跨平台、可移植性高,支持主流的 *** 作系统,像Windows,Linux,Mac等,python自带的IDLE就是采用这个包开发,简单易学,容易上手,适合小型项目的开发,入门GUI开发的话,可以试一下这个包,官网资料https://docs.python.org/2/library/tkinter.html:
程序运行如下:
2.wxpython:这是python一个优秀、成熟的跨平台GUI包,但不是自带的标准库,需要单独安装,支持的组件众多,可以帮助程序员快速的创建功能齐全、界面友好的GUI界面,应用广泛,非常适合中小型项目的开发,官网资料https://docs.wxpython.org/,可以参考学习一下,下面我简单介绍一下安装和使用:
安装,这里直接在cmd窗口输入命令“pip install wxpython”就行,如下:
安装成功后,就可以进行简单的测试了,代码如下,一个简单编辑器:
程序运行截图如下:
3.pyqt:这个是Qt提供给python的一个接口包,Qt功能强大,组件众多,可以快速构建用户GUI界面,所以pyqt的功能也十分强大,借助于Qt,我们可以构建桌面应用,下面我简单介绍一下pyqt的安装和使用,官网资料http://pyqt.sourceforge.net/Docs/PyQt5/:
安装pyqt5,这个直接在cmd窗口输入“pip install pyqt5”就行,如下:
测试代码如下,一个简单的计算器:
程序运行截图如下:
当然,你也可以借助designer.exe直接拖拽控件,完成GUI界面开发,如下,最后打包成py文件就行:
目前,就介绍这3个包吧,网上也有许多这方面的教程,感兴趣的话,可以搜搜,希望以上分享的内容能对你有所帮助吧。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)