1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

Python使用pywebview开发设计桌面应用的全流程

介绍

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

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