简述
wxHTML 库包含用于解析和显示 HTML 内容的类。虽然这不是一个功能齐全的浏览器,但 wx.HtmlWindow 对象是一个通用的 HTML 查看器。
HtmlWindow 类构造函数看起来很熟悉 -
(Parent, id, pos, size, style)
此类支持以下样式 -
序列号 |
样式和描述 |
1 |
wxHW_SCROLLBAR_NEVER
从不显示滚动条,即使页面大于窗口 |
2 |
wxHW_SCROLLBAR_AUTO
仅当页面大小超过窗口大小时才显示滚动条 |
3 |
wxHW_NO_SELECTION
不允许用户选择文本 |
该课程可使用以下事件活页夹 -
序列号 |
事件和描述 |
1 |
EVT_HTML_CELL_CLICKED
点击了一个 wxHtmlCell |
2 |
EVT_HTML_CELL_HOVER
鼠标经过一个 wxHtmlCell |
3 |
EVT_HTML_LINK_CLICKED
单击了包含超链接的 wxHtmlCell |
此类的以下成员函数经常使用 -
序列号 |
功能与说明 |
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()