【问题标题】:Close PyWebView Window with HTML Button click单击 HTML 按钮关闭 PyWebView 窗口
【发布时间】:2021-04-22 07:23:42
【问题描述】:

提前了解:
有一个类似的问题处理相同的问题。
但是,这个对我不起作用(或者我只是不够了解以正确包含它)。
我最近才开始使用 pywebview。

目标:
我想用HTML中的链接(或按钮)关闭窗口/结束程序。

问题:
使用的代码对我不起作用。
函数可以到达(打印语句填满控制台,
不幸的是,我不知道为什么),但窗口没有关闭。
我只是从pywebview开始,所以我真的不知道该怎么做。


用于解决问题的页面:
PyWebView Website
StackOverflow Question


代码(Python 和 HTML):

import sys

import webview


class Api:

    def __init__(self):
        self._window = None

    def set_window(self, window):
        self._window = window

    def destroy(window):
        print('Destroying window..')
        window.destroy()
        print('Destroyed!')


if __name__ == '__main__':
    api = Api()
    window = webview.create_window('Blackjack', 'index.html', js_api=api, min_size=(1000, 800))
    webview.start()
<html>
    <body>
        <main>
            <div id="content">
                <a>
                    <div class="block" onclick="exit()">End</div>
                </a>
                <script>
                    function exit() { pywebview.api.destroy() }
                </script>
            </div>
        </main>
    </body>
</html>

【问题讨论】:

    标签: javascript python html pywebview


    【解决方案1】:

    与此同时,我找到了关闭窗口并退出程序的解决方案。
    但是,我得到一个错误,不幸的是我不知道为什么。

    HTML / JS 代码目前是正确的,无需调整。

    Python 脚本中,只能指定 def destroy(self) 而不是 def destroy(window)


    其实很简单,但还是花了我将近一个月的时间才解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-23
      • 1970-01-01
      • 2016-06-16
      • 2012-09-26
      • 2021-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多