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 不允许用户选择文本 |
Following event binders are available for this class −
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()