15 wxPython HTMLWindow类


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文件

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()