当前位置:   article > 正文

使用pywebview套壳odoo

pywebview

win10平台下使用pywebview套壳odoo,pyinstaller打包成exe

1. 安装依赖

pip install pywebview

pip install pyinstaller

2.pywebview API

官方文档 : API | pywebview

webview.create_window

webview.create_window(title, url=None, html=None, js_api=None, width=800, height=600,
                      x=None, y=None, screen=None, resizable=True, fullscreen=False,
                      min_size=(200, 100), hidden=False, frameless=False,
                      easy_drag=True, shadow=False, focus=True, minimized=False, maximized=False,
                      on_top=False, confirm_close=False, background_color='#FFFFFF',
                      transparent=False, text_select=False, zoomable=False,
                      draggable=False, server=http.BottleServer, server_args={},
                      localization=None)
  • title -  窗口标题
  • url -  要加载的 URL。如果 URL 没有协议前缀,则将其解析为相对于应用程序入口点的路径。或者,可以传递 WSGI 服务器对象来启动本地 Web 服务器。
  • html -  要加载的 HTML 代码。如果同时指定了 URL 和 HTML,则 HTML 优先。
  • js_api - 将 python 对象暴露给当前窗口的 Javascript 域。可以通过调用函数从 Javascript 调用对象的方法。公开的函数返回一个 promise,该 promise 在函数返回后返回。只有基本的 Python 对象(如 int、str、dict 等)才能返回到 Javascript。
  • width -  窗口宽度。默认值为 800px。
  • height -  窗口高度。默认值为 600px。
  • x -  窗口 x 坐标。默认值居中。
  • y -  窗口 y 坐标。默认值居中。
  • screen -  打开显示窗口的屏幕。 是返回的屏幕实例。
  • resizable -  是否可以调整窗口大小。默认值为 True
  • fullscreen -  以全屏模式启动。默认值为 False
  • min_size -  指定最小窗口大小的 (width, height) 元组。默认值为 200x100
  • hidden -   创建一个默认隐藏的窗口。默认值为 False
  • frameless -  创建一个无框窗口。默认值为 False。
  • easy_drag -  无框窗口的简单拖动模式。可以通过拖动任何点来移动窗口。默认值为 True。请注意,easy_drag对普通窗口没有影响。
  • shadow -  添加窗口阴影。默认值为 False。仅限 Windows
  • focus -  如果为 False,则创建一个不可聚焦的窗口。默认值为 True。
  • minimized -  最小化显示窗口
  • maximized -  显示窗口最大化
  • on_top -  将窗口设置为始终位于其他窗口的顶部。默认值为 False。
  • confirm_close -  是否显示窗口关闭确认对话框。默认值为 False
  • background_color -  加载 WebView 之前显示的窗口的背景颜色。指定为十六进制颜色。默认值为白色。
  • transparent - 创建一个透明窗口。在 Windows 上不受支持。默认值为 False。
  • text_select - 启用文档文本选择。默认值为 False
  • zoomable -  启用文档缩放。默认值为 False
  • draggable - 启用图像和链接对象拖动。默认值为 False server=http.BottleServer, server_args
  • vibrancy - 启用 window vibrancy. 默认值为 False。仅限 macOS。
  • server -  此窗口的自定义 WSGI 服务器实例。默认为 BottleServer。
  • server_args -  要传递到服务器实例化的参数字典。
  • localization -  传递每个窗口本地化的本地化字典。

webview.start

webview.start(func=None, args=None, localization={}, gui=None, debug=False,
              http_server=False, http_port=None, user_agent=None, private_mode=True,
              storage_path=None, menu=[], server=http.BottleServer, ssl=False,
              server_args={}):
  • func -  在启动 GUI 循环时调用的函数。
  • args -  函数参数。可以是单个值,也可以是元组。
  • localization -  具有本地化字符串的字典。默认字符串及其键在 localization.py 中定义。
  • gui -  强制使用特定的 GUI。允许的值为 ,或取决于平台。
  • debug -  启用调试模式。
  • http_server -  为绝对本地路径启用内置 HTTP 服务器。对于相对路径,HTTP 服务器是自动启动的,不能禁用。对于每个窗口,都会生成一个单独的 HTTP 服务器。对于非本地 URL,将忽略此选项。
  • http_port -  指定 HTTP 服务器的端口号。默认情况下,端口是随机的。
  • user_agent -  更改用户代理字符串。
  • private_mode -  控制是否在会话之间存储 cookie 和其他持久性对象。默认情况下,专用模式处于打开状态,会话之间不存储任何内容。
  • storage_path -  硬盘驱动器上的可选位置,用于存储持久性对象(如 cookie 和本地存储)。默认情况下,在 *nix 系统和 Windows 上使用。
  • menu -  传递 Menu 对象列表以创建应用程序菜单。
  • server -  自定义 WSGI 服务器实例。默认为 BottleServer。
  • ssl -  如果使用默认的 BottleServer(现在是 GTK 后端),则会在 webview 和内部服务器之间使用 SSL 加密。仅限可可/QT/GTK。
  • server_args -  要传递到服务器实例化的参数字典。

webview.settings

webview.settings = {
  'ALLOW_DOWNLOADS': False,
  'ALLOW_FILE_URLS': True,
  'OPEN_EXTERNAL_LINKS_IN_BROWSER': True,
  'OPEN_DEVTOOLS_IN_DEBUG': True
}

  • ALLOW_DOWNLOADS  允许文件下载。默认情况下处于禁用状态。
  • ALLOW_FILE_URLS  启用 url。默认情况下处于禁用状态。
  • OPEN_EXTERNAL_LINKS_IN_BROWSER.  在外部浏览器中打开链接。默认启用。
  • OPEN_DEVTOOLS_IN_DEBUG  在调试模式下自动打开 devtools。默认启用。

更多详细内容请看官方文档

3.实现官网套壳

import webview

if __name__ == '__main__':
    webview.settings = {
        'ALLOW_DOWNLOADS': True,
        'ALLOW_FILE_URLS': True,
        'OPEN_EXTERNAL_LINKS_IN_BROWSER': True,
        'OPEN_DEVTOOLS_IN_DEBUG': False
    }

    window = webview.create_window(title='Home | 同欣数字化落地', url='https://txodoo.cn/web', width=1360, height=768)

    webview.start(private_mode=False, debug=True)


 

4.打包为exe

pyinstaller --noconsole --onefile  --icon=favicon.ico --name txodoo main.py

-- 不显示控制台

--onefile 生成单个可执行文件

--name 指定生成的可执行文件名称

--icon 指定图标

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号