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

5

OnLinkClicked()

单击超链接时调用。

6

SetPage()

将带有 HTML 标签的文本设置为页面内容。

以下代码显示了一个简单的 HTML 浏览器。运行代码后,会弹出一个文本输入对话框,要求输入 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()
wxpython_major_classes.htm
广告