用pyecharts画了图,生成了本地的html,但是我想用tkinter打开它并且显示在tkinter窗口中,webbrowser只能打开它,但是依旧是在浏览器中显示,我想让这个html显示在窗口中
在 tkinter 中打开 HTML 文件可以使用 tkinter 的组件 tkinter.ttk.Frame 和 tkinter.webview.Webview。
首先使用 tkinter.ttk.Frame 创建一个框架组件,再将其传递给 tkinter.webview.Webview 类的构造函数,这样就可以在 tkinter 窗口中显示 HTML 文件了。参考代码如下:
import tkinter as tk
from tkinter import ttk
from tkinter import webview
def show_html(html_file):
# 创建一个 tkinter 窗口
root = tk.Tk()
root.title("HTML viewer")
# 创建一个 ttk Frame
frame = ttk.Frame(root)
frame.pack()
# 创建一个 Webview 实例
webview = webview.Webview(frame, width=800, height=600)
webview.pack()
# 加载 HTML 文件
webview.load_html(html_file)
tkinter本身没有显示网页的控件。但可以通过拓展库封装:
https://blog.csdn.net/tinga_kilin/article/details/122141490
https://blog.csdn.net/tinga_kilin/article/details/125232198
两篇建议都看,第二篇一定要看。
楼上两位答主也不知道在干嘛。。。
用tkinter的Webview控件来打开和显示HTML文件。这个控件使用的是系统默认的浏览器来显示HTML文件,而不是开启一个新的浏览器窗口。示例代码如下:
from tkinter import Tk
from tkinter import ttk
root = Tk()
webview = ttk.Webview(root)
webview.pack()
webview.set_html(open("your_file.html").read())
root.mainloop()