16.2.2 如何使用编程的方式改变一个HTML窗口?

当你正显示一个HTML页时,你还可以改变你的窗口像浏览器样去显示其它的内容,如一另一个Web页,或帮助文件或其它类型的数据,以响应用户的需要。

有 两个方法来当HTML窗口在运行时,访问和改变HTML窗口中的信息。首先,你可以使用GetOpenedPage()方法来得到当前打开的页面的 URL。该方法只在当前页是被LoadPage()方法装载的才工作。如果是这样的,那么方法的返回值是当前页的URL。否则,或当前没有打开的页面,该 方法返回一个空字符串。另一个相关的方法是GetOpenedAnchor(),它返回当前打开页面中的锚点(anchor)。如果页面不是被 LoadPage()打开的,你将得到一个空的字符串。

要得到当前页的HTML标题,可以使用方法GetOpenedPageTitle(),这将返回当前页的<title>标记中的值。如果当前页没有一个<title>标记,你将得到一个空的字符串。

这 儿有几个关于改变窗口中文本的选择的方法。方法SelectAll()选择当前打开的页面中的所有文本。你可以使用SelectLine(pos)或 SelectWord(pos)做更有针对性的选择。其中pos是鼠标的位置wx.Point,这两个方法分别选择一行或一个词。要取得当前选择中的纯文 本内容,可以使用方法SelectionToText(),而方法ToText()返回整个文档的纯文本内容。

wx.html.HtmlWindow维护着历史页面的一个列表。使用下表16.3中的方法,可以如通常的浏览器一样浏览这个历史列表。

表16.3

HistoryBack():装载历史列表中的前一项。如果不存在则返回False。

HistoryCanBack():如果历史列表中存在前一项,则返回True,否则返回False。

HistoryCanForward():如果历史列表中存在下一项,则返回True,否则返回False。

HistoryClear():清空历史列表。

HistoryForward():装载历史列表中的下一项。如果不存在则返回False。


要 改变正在使用的字体,可以使用方法SetFonts(normal_face, fixed_face, sizes=None)。参数 normal_face是你想用在窗口显示中的字体的名字字符串。如果normal_face是一个空字符串,则使用系统默认字体。参数 fixed_face指定固定宽度的文本,类似于<pre>标记的作用。如果指定了fixed_face参数,那么参数sizes则应是一个 代表字体的绝对尺寸的包含7个整数的列表,它对应于HTML逻辑字体尺寸(如<font>标记所使用的)-2~+4之间。如果该参数没有指定 或是None,则使用默认的。关于默认常量wx.html.HTML_FONT_SIZE_n,n位于1~7之间。这些默认常量指定了对应于HTML逻辑 字体尺寸所使用的默认字体。准确的值可能因不同的底层系统而不同。要选择一套基于用户的系统的字体和尺寸,可以调用SetStandardFonts ()。这在GTK2下运行wxPython时是特别有用的,它能够提供一套更好的字体。

如果由于某种原因,你需要改变窗口中文本边缘与窗口边缘之间的间隔的话,HTML窗口定义了SetBorders(b)方法。参数b是间隔的像素宽度(整数值)。

下节内容提示:如何在窗口的标题栏中显示页面的标题和如何打印一个HTML页面?