# API 函数

# create_window

create_window(title,
              url='',
              js_api=None,
              width=800,
              height=600,
              resizable=True,
              fullscreen=False,
              min_size=(200, 100),
              strings={},
              confirm_quit=False,
              background_color='#FFF',
              debug=False,
              text_select=False)

创建一个新的 pywebview 窗口。首次调用此函数时将启动应用程序并占用程序主线程。您必须在单独的线程中执行您的程序逻辑。后续调用 create_window 将返回一个唯一窗口 uid,该窗口可用于引用 API 函数中的特定窗口。单窗口应用程序无需理会 uid,在函数调用中可以直接忽略它。

  • title - 窗口标题
  • url - 要加载的 URL。如果 URL 没有协议前缀,则将其解析为相对于应用程序入口点的路径。
  • js_api - 将 js_api 类对象公开给当前 pywebview 窗口的 DOM 。JavaScript 可以通过 window.pywebview.api 对象来对 js_api 进行函数调用。回调函数可以接受一个参数的基本类型或对象。对象类型在 JavaScript 和 Python 间转换。函数在单独的非安全的线程中执行。
  • width - 窗口宽度。默认值为 800px。
  • height - 窗口高度。默认值为 600px。
  • resizable - 窗口大小是否可以调整。默认为 True。
  • fullscreen - 窗口全屏模式, 默认值为 False。
  • frameless - 窗口无边框模式,默认值为 False。
  • min_size - 窗口最小尺寸,元组类型 (width, height), 默认值为 (200x100)。
  • strings - 窗口本地化语言配置,字符串的字典类型。默认值在 localization.py 中定义。
  • confirm_quit - 窗口退出时是否显示确认对话框,默认值为False。
  • background_color - 窗口的 WebView 在 loaded 之前的背景颜色。指定为十六进制颜色。默认为 white。
  • debug - 启用调试模式,默认值为 False。详情请参阅 调试 页面。
  • text_select - 启用 WebView 的文档文本选择,默认值为 False。如需单独指定元素的文本选择,可以使用 CSS 的 user-select 属性。

以下函数必须在创建 pywebview 窗口后才可以调用,否则将抛出异常。

在所有情况下,uid 是 函数 create_window() 返回的目标窗口的 uid; 如果给定的窗口不存在,uid 则抛出异常。默认值是 'master',这是第一个窗口的特殊 uid。

# 示例

# create_file_dialog

create_file_dialog(dialog_type=OPEN_DIALOG,
                   directory='',
                   allow_multiple=False,
                   save_filename='',
                   file_types=())

创建一个打开文件 (webview.OPEN_DIALOG), 打开文件夹 (webview.FOLDER_DIALOG) 或保存文件(webview.SAVE_DIALOG) 的对话框。

返回值为所选文件的元组类型数据,如果取消则返回值为 None。

  • allow_multiple=True - 允许多选
  • directory - 初始目录
  • save_filename - 保存文件对话框的默认文件名
  • file_types - 打开文件对话框中支持的文件类型字符串元组,文件类型字符串必须遵循此格式 "可选指定文件描述 (*.ext1;*.ext2...)",默认值为 "All files (*.*)",可以在本地化字典中更改 'All files' 字符串值。

如果未指定 file_types 参数则使用默认值 "All files (*.*)"。可以在本地化字典中更改“所有文件”字符串。

# 示例

# destroy_window

destroy_window(uid='master')

销毁指定的 WebView 窗口。

示例代码

# evaluate_js

evaluate_js(script, uid='master')
  • script - JavaScript 代码

在指定的窗口中执行 JavaScript 代码。返回最后一个计算表达式。JavaScript 类型将会转换为 Python类型,例如。JS 对象 objects 转为 字典 dicts,JS 数组 Array 转为 列表 List,JS 未定义 undefined 转为 None。请注意,由于实施限制,字符串 'null' 将被转为 None。如果 JavaScript 代码中存在诸如 \n、\r 和 \n 等转义字符必须事先处理,否则他们会被 Python 解析。 我们推荐使用r'strings' 来加载 JavaScript。

# get_current_url

get_current_url(uid='master')

返回指定窗口中的当前 URL。如果没有加载 url,则返回 None。

示例代码

# load_css

load_css(css, uid='master')

将 CSS 作为字符串加载到指定的窗口中。

示例代码

# load_html

load_html(content, base_uri=base_uri(), uid='master')
  • content - HTML 代码
  • base_uri - 相对资源地址,设置为启动程序的目录,用于解析相对 URL 的基本 URL 设置为启动程序的目录。

将 HTML 代码加载到指定的窗口中。请注意,以此种方式加载 HTML 时,将无法使用 hash 锚点。

示例代码

# load_url

load_url(url, uid='master')

将新的 URL 加载到指定的 pywebview 窗口中。

示例代码

# set_title

set_title(title, uid='master')

更改窗口的标题

示例代码

# toggle_fullscreen

togle_fullscree(uid='master')

切换窗口的全屏模式。

示例代码

# window_exists

window_exists(uid='master')

判断指定 uid 的 pywebview 窗口是否已启动并正在执行,是则返回 True,否则返回 False。

# config

config.gui = 'qt' | 'gtk'

配置项,强制使用指定的 GUI 库, GTK 或 QT。可以通过环境变量 PYWEBVIEW_GUI 实现相同的效果