用htmlWindow实现“关于”对话框

来源:互联网 发布:注册一个淘宝客公司 编辑:程序博客网 时间:2024/05/17 22:20
我在用 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()

引自: http://61.183.15.243/index.php?action=plugin&v=wave&tpl=union&ac=viewgrouppost&gid=73&tid=4467&pg=1