wxPython - HTMLWindow 类
wxHTML 库包含用于解析和显示 HTML 内容的类。 虽然这并不是一个功能齐全的浏览器,但 wx.HtmlWindow 对象是一个通用的 HTML 查看器。
HtmlWindow 类的构造函数看上去很熟悉 −
(Parent, id, pos, size, style)
该类支持以下样式 −
| S.N. | 样式 & 描述 |
|---|---|
| 1 | wxHW_SCROLLBAR_NEVER 从不显示滚动条,即使页面大于窗口也不显示 |
| 2 | wxHW_SCROLLBAR_AUTO 仅当页面大小超过窗口大小时才显示滚动条 |
| 3 | wxHW_NO_SELECTION 不允许用户选择文本 |
以下事件绑定器可用于此类 −
| S.N. | 事件 & 描述 |
|---|---|
| 1 | EVT_HTML_CELL_CLICKED 点击了一个 wxHtmlCell |
| 2 | EVT_HTML_CELL_HOVER 鼠标经过一个wxHtmlCell |
| 3 | EVT_HTML_LINK_CLICKED 单击了包含超链接的 wxHtmlCell |
该类的以下成员函数是经常使用的 −
| S.N. | 函数 & 描述 |
|---|---|
| 1 | AppendToPage() 将 HTML 片段附加到当前显示的文本并刷新窗口 |
| 2 | HistoryBack() 返回到之前访问过的页面 |
| 3 | HistoryForward() 转到历史记录的下一页 |
| 4 | LoadPage() 加载一个 HTML 文件 |
| 5 | OnLinkClicked() 点击超链接时调用 |
| 6 | SetPage() 将带有 HTML 标签的文本设置为页面内容 |
以下代码显示了一个简单的 HTML 浏览器。 在运行代码时,会弹出一个 TextEntry 对话框,要求输入一个 URL。 wx.HtmlWindow 类的 LoadPage() 方法显示窗口中的内容。
import wx
import wx.html
class MyHtmlFrame(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, -1, title, size = (600,400))
html = wx.html.HtmlWindow(self)
if "gtk2" in wx.PlatformInfo:
html.SetStandardFonts()
dlg = wx.TextEntryDialog(self, 'Enter a URL', 'HTMLWindow')
if dlg.ShowModal() == wx.ID_OK:
html.LoadPage(dlg.GetValue())
app = wx.App()
frm = MyHtmlFrame(None, "Simple HTML Browser")
frm.Show()
app.MainLoop()

