当前位置:首页 » 《关于电脑》 » 正文

使用pywebview套壳odoo

0 人参与  2024年09月26日 10:40  分类 : 《关于电脑》  评论

点击全文阅读


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 -  是否可以调整窗口大小。默认值为 Truefullscreen -  以全屏模式启动。默认值为 Falsemin_size -  指定最小窗口大小的 (width, height) 元组。默认值为 200x100hidden -   创建一个默认隐藏的窗口。默认值为 Falseframeless -  创建一个无框窗口。默认值为 False。easy_drag -  无框窗口的简单拖动模式。可以通过拖动任何点来移动窗口。默认值为 True。请注意,easy_drag对普通窗口没有影响。shadow -  添加窗口阴影。默认值为 False。仅限 Windows。focus -  如果为 False,则创建一个不可聚焦的窗口。默认值为 True。minimized -  最小化显示窗口maximized -  显示窗口最大化on_top -  将窗口设置为始终位于其他窗口的顶部。默认值为 False。confirm_close -  是否显示窗口关闭确认对话框。默认值为 Falsebackground_color -  加载 WebView 之前显示的窗口的背景颜色。指定为十六进制颜色。默认值为白色。transparent - 创建一个透明窗口。在 Windows 上不受支持。默认值为 False。text_select - 启用文档文本选择。默认值为 Falsezoomable -  启用文档缩放。默认值为 Falsedraggable - 启用图像和链接对象拖动。默认值为 False server=http.BottleServer, server_argsvibrancy - 启用 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 webviewif __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 指定图标


点击全文阅读


本文链接:http://zhangshiyu.com/post/164758.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1