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.htmll
class MyHtmlFrame(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, -1, title, size = (600,400))
html = wx.htmll.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()
执行上面的代码,产生以下结果:
上一篇:
wxPython SplitterWindow类
下一篇:
wxPython Major类
