我在用wxPython做一个小工具的时候打算用htmlwindow组件实现一个关于对话框,在网上查阅了一些资料之后,我写出了自己的代码:
#需要引入的库
import wx
import wx.html
import webbrowser
about = u"""\
<html><body>
<table bgcolor="#9BCD9B" width="100%" cellspacing="0"
cellpadding="0" border="1">
<tr>
<td align="center"><h1>天天壁纸</h1></td>
</tr>
</table>
<font color = \"blue\" size=2>
<h3>简介</h3>
<ul>
<li>这是一款能随时从互联网上下载最新最酷的壁纸软件
<li>这是一款免费软件,你可以自由拷贝及传播
</ul>
</font>
<font color = \"green\" size=2>
<h3>主要特色</h3>
<ul>
<li>可以设定壁纸随机切换时间,也可以单击图片完成壁纸的迅速切换
<li>壁纸时刻自动更新,每天几十万的更新量,满足你的需要
<li>使用方便,只需在喜欢的壁纸上单击即可完成壁纸更换
<li>分类导航详细,让你快速找到喜欢的壁纸,节省时间
<li>占用很少的系统资源
<li>自动匹配电脑分辨率,确保您所切换的每张壁纸都达到完美效果
</ul>
</font>
<font color=\"red\" size=2>
<h3>免责声明</h3>
<ul>
<li>本程序所有图片均来自<a href="http://www.xxxxxx.com">http://www.deskcity.com</a>
<li>本程序与内容的出处无关,请在获得权利人(如有)合法授权后使用
</ul>
</font>
<font size=2>
<h3>联系方式</h3>
<ul>
<li><a href="http://wf1128.cn">访问网站</a>
<li><a href="mailto:zanpen2000@163.com">xxxxxxxx@163.com</a>
<li><a href="tencent://message/?uin=XXXXXXXX&Site=天天壁纸(wf1128.cn)&Menu=yes">在线qq交流</a>
</ul>
</font>
</body></html>
"""
class SketchAbout(wx.Dialog):
text = about;
def __init__(self, parent):
wx.Dialog.__init__(self, parent, -1, vars.title,
size=(440, 400) )
self.html = wx.html.HtmlWindow(self)
self.html.SetPage(self.text)
button = wx.Button(self, wx.ID_OK, u"确定")
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.html, 1, wx.EXPAND|wx.ALL, 5)
sizer.Add(button, 0, wx.ALIGN_CENTER|wx.ALL, 5)
self.html.Bind(wx.html.EVT_HTML_LINK_CLICKED,self.OnLinkClicked)
self.SetSizer(sizer)
self.Layout()
def OnLinkClicked(self, linkinfo):
webbrowser.open_new_tab(linkinfo.GetLinkInfo().GetHref())
这样,当用户点击窗口中的链接的时候,还能实现url的跳转,e-mail客户端启动以及在线的QQ交流
调用方法:
dlg = SketchAbout(None)
dlg.ShowModal()
dlg.Destroy()
本文出自python吧,原文网址:http://www.python8.org/a/fenleiwenzhang/tuxingjiemian/wxPython/2009/0901/116.html