介绍
作为桌面应用程序的开发者,你是否曾经想学习并设计桌面应用程序呢?那么本文将介绍使用Python的pywebview开发设计桌面应用程序的相关资料,希望这能够给大家带来帮助。

pywebview入门
现在可以轻松地通过安装pywebview来使用它了。例如,可以以固定窗口大小的方式创建一个内嵌式百度主页的winform程序流程,还可以设置禁止挑选文本等功能:
import webview
window = webview.create_window(
title='搜一下,都是广告宣传',
url='http://www.baidu.com',
width=850,
height=600,
resizable=False, # 固定不动窗口大小
text_select=False, # 严禁挑选文字部分
confirm_close=True # 关掉时提醒
)
webview.start()
使用pywebview,屏幕清晰度和打开速度都比Eel更好。撤出提醒的对话框默认是英语,可根据需要定义词典来实现本土化。例如:
chinese = {
'global.quitConfirmation': u'确定关闭?',
}
webview.start(localization=chinese)
pywebview高级应用
使用pywebview可以在HTML前端界面中启用Python代码。例如,可以使用Flask提供的Http,将Flask实例对象app作为url的主要参数发送给webview。代码如下:
import webview
from flask import Flask, render_template
# 创建对象,目标为Flask
app = Flask(__name__)
# 界定路由器3D渲染模版
@app.route('/')
def index():
return render_template('/index.html')
# 配备pywebview关掉提醒的英文翻译
chinese = {
'global.quitConfirmation': u'确定关闭?',
}
# 发送给前面的api目标,界定了这个能通过JS调用撤出现阶段运用的函数公式
class Api:
def __init__(self) -> None:
self._window = None
def set_window(self, window):
self._window = window
def quit(self):
self._window.destroy()
if __name__ == '__main__':
# 创建对象Api类
api = Api()
window = webview.create_window(
title='我是文章标题',
url=app,
fullscreen=True, # 以全屏模式运行
#width=760, # 自定窗口大小
#height=390,
#resizable=False, # 固定不动窗口大小
text_select=False, # 严禁挑选文字部分
confirm_close=True, # 关掉时提醒
js_api=api # 将上面创建对象后的Api目标发送给前端JS启用
)
# -- 划重点 -- 必须将上面创建的window目标再通过函数公式发送给创建对象后的api目标
api.set_window(window)
# 启动程序
webview.start(localization=chinese)
在HTML页面中可以使用jQuery给一个id为exit的按钮绑定点击事件,并在点击时调用api.quit()方法。此处的pywebview.api是在pywebview运行后自动注入到当前窗口的全局对象中,其中的Python代码则绑定在它上面:
$("#exit").click(function () {
pywebview.api.quit();
})
装包成单个EXE文件
使用auto-py-to-exe可以很容易地将代码打包成单个EXE文件,如下所示:
pip install auto-py-to-exe auto-py-to-exe
将Flask所涉及的模板、静态文件以及其他如SQLite数据库文件等都添加到文件格式部分即可完成装包。需要注意的是,需要检查pywebview.api目标是否已成功加载,可以使用JavaScript进行检查。
这是一个简单的pywebview使用指南,希望能帮助到大家学习和理解如何开发设计桌面应用程序。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6610.html
