【问题标题】:python tornado webserver + pywebviewpython 龙卷风网络服务器 + pywebview
【发布时间】:2019-01-05 15:13:23
【问题描述】:

我是 python 的新手。我尝试了几件事来首先启动 tornado 网络服务器,然后应该使用来自 tornado 网络服务器的 url 启动一个 webview (pywebview)。 因为我想把所有东西放在一个 android 应用程序中(与 buildozer 一起使用),所以我确信一键启动我的 tornado webserver+webview。

import tornado.ioloop
import tornado.web
import webview

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
    ])

if __name__ == "__main__":
    app = make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()
    webview.create_window('Hello world', 'http://localhost:8888')

服务器已启动,但没有出现 webview。 也许对于我这个初学者来说不容易理解,也许对于一个专家来说,5分钟让我找到正确的方向。

【问题讨论】:

  • 您可以尝试在启动IOLoop 之前创建网络视图吗?将最后一行放在tornado.ioloop.... 行之前,看看它是否有效。
  • 它在没有任何网站和龙卷风服务器的情况下无限循环地启动 webview。我读到 ioloop 应该在一个线程中......我会尝试并希望得到结果。

标签: webview webserver tornado


【解决方案1】:

我知道现在回答这个问题已经很晚了,但我会为正在为此寻找解决方案的人们提供帮助。 您不能将 pywebwiew 用作 webview。您应该使用 Android Java webview 。您可以使用 pyjnius 访问它来访问 webview 类。很难用文字来解释,所以你可以看到这个使用这种方法的项目:https://gitlab.com/damien.andre/minipy/-/tree/master (项目不是我的) 编辑:这里有官方kivy教程https://github.com/kivy/kivy/wiki/Android-native-embedded-browser

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多