使用Tkinter打开网页

4
我的应用程序需要能够在Tkinter GUI工具包中打开单个网页(必须是从互联网而不是保存的),并且我想使用Tkinter GUI工具包,因为它是我最熟悉的。除此之外,我希望能够在窗口中生成事件(例如鼠标点击),但又不想实际使用鼠标。有什么好的方法可以解决这个问题吗?
编辑:为了更清楚地说明,我需要一种将网页加载到Tkinter小部件或窗口中的方法,或者甚至可能是特定的Java applet。如果不行,也许有其他方法可以生成鼠标和键盘事件,而不使用鼠标或键盘。

如果网页非常简单,可以使用Tkhtml(http://tkhtml.tcl.tk)和其Python绑定。 - mmgp
4个回答

3
如果您想在GUI内打开它,请使用Bryan的建议。如果您只想打开一个网页,可以使用以下方法:
import webbrowser

webbrowser.open("page.html")

2

Tkinter没有一个可以呈现网页的小部件。


有没有其他的方法可以通过其它方式显示它? - NightW.

2

所以,我发现了一个名为 pywebview 的模块。

pip install pywebview

示例代码:

import webview
webview.create_window('duckduckgo', 'https://www.duckduckgo.com')
webview.start() #this will open the webpage in a new window

欢迎来到SO!通常情况下,我们只会在有实际解决方案的情况下提交问题的答案。对于外部资源的引用通常作为评论提交。如果您没有足够的声望来提交评论,请等待直到您拥有足够的声望。另一种选择是在您的答案中编写一个简短的摘要,说明这个模块如何解决问题,并附上一个演示语句的代码片段。 - My Koryto

2

你应该使用pywebview,它非常容易,只需要编写三行代码。

我用过它,但在我的情况下并非在所有地方都有效。请评论让我知道它是否适用于你。

到处都能工作的最佳选择是PyQtQtWebview模块。你可能会遇到一个问题,那就是重命名窗口,所以这里是解决方法。

web.setWindowTitle(title)

您可以直接使用所有的功能,只需将 windowself 替换为 web ,就像上面的代码一样。


嗨!你能分享一下在这种情况下如何使用pywebview的代码示例吗?或者给一个相关帖子的链接吗? - Josemy
我希望你能仔细阅读如何撰写好的答案?,并进行修改。你的回答未能解释为什么“它在所有地方都不起作用”,以及你的情况是什么,也没有包含任何参考代码或链接,这些可能有助于理解你回答的后半部分。在答案中添加无关的注意事项是不被鼓励的。 - astqx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接