Загрузите HTML в pywebview с аргументами - PullRequest
0 голосов
/ 26 октября 2019

Я хочу загрузить html-код в pywebview (desmos API), но я должен включить аргументы в функцию load_html, но я получаю ошибки при запуске. У меня есть следующий код:

import webview

def load_html(window,userExpr,vars):
    htmlCode = 'html code' + userExpr + 'more html code' + vars + 'even more html code'
    window.load_html(htmlCode)

userExpr = "y=x^2"
vars = [-10,10]
window = webview.create_window("Graph", width=1210, height=820)
webview.start(load_html,window,userExpr,vars)

Я хочу, чтобы он загружал HTML-код с включенными аргументами, но при запуске программы я получаю сообщение об ошибке:

Traceback (most recent call last):
  File "C:/path/test.py", line 10, in <module>
    webview.start(load_html,window,vars)
  File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\webview\__init__.py", line 71, in start
    original_localization.update(localization)
ValueError: dictionary update sequence element #0 has length 1; 2 is required

Как можноэто будет исправлено?

1 Ответ

0 голосов
/ 26 октября 2019

start() ожидаем только один аргумент.

Для многих аргументов используйте список или кортеж - [window, userExpr, vars].

import webview

def load_html(window, userExpr, vars):
    print(window, userExpr, vars)
    htmlCode = 'html code' + userExpr + 'more html code' + str(vars) + 'even more html code'
    window.load_html(htmlCode)

userExpr = "y=x^2"
vars = [-10,10]
window = webview.create_window("Graph", width=1210, height=820)
webview.start(load_html, [window, userExpr, vars] )

Другие места для других вариантов - см. документация для запуска ()

webview.start(func=None, args=None, localization={}, http_server=False, gui=None, debug=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...