我用python tkinter制作了一个gui应用程序,我想放一个小型的小型Web浏览器在我的TKINTER窗口中,而不是打开一个新标签,该怎么办?
答案 0 :(得分:2)
不能。 tkinter库中没有可用于显示HTML的小部件。如果您确实需要使用tkinter,则可以尝试tkinterhtml,但这很奇怪并且不能用于许多功能(超链接,图像...)
答案 1 :(得分:0)
这是一个老问题,但对于将来遇到此问题的任何人来说,在 tkinter 中嵌入网页是可能的。
您可以尝试tkinterweb(免责声明:我是作者)。它基于 tkinterhtml 但支持超链接、样式、图像等。
只需使用 pip install tkinterweb
安装它,然后运行:
import tkinterweb
import tkinter as tk
root = tk.Tk()
frame = HtmlFrame.HtmlFrame(root)
frame.load_website(YOUR_WEBSITE)
frame.pack(fill="both", expand=True)
root.mainloop()
Tkinterweb 运行已停产的 Tk HTML 小部件,因此复杂的网站可能无法正常运行。不过,更简单的网站工作得很好。
另一个不错的选择是 cefpython,它是嵌入在 Tkinter 中的成熟的 Chrome 浏览器。在 https://github.com/cztomczak/cefpython/blob/master/examples/tkinter_.py 中可以找到在 tkinter 中使用 cefpython 的示例。不幸的是,cefpython 在较新的 Python 版本中确实存在一些问题,并且可能会占用一些资源,但它确实运行良好。
如果您的 Tkinter 应用程序需要一个完整的网络浏览器,我建议您尝试使用 cefpython。如果您只需要一些非常快速和简单的东西来显示基本网页或帮助窗口,请尝试使用 tkinterweb。