注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风雨启示录

欢迎光临我的网店优优我心:http://uumyheart.taobao.com

 
 
 

日志

 
 

wxpython设置窗口图标wx.SetIcon  

2009-03-30 22:01:57|  分类: python学习笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
一般有两种方法。
一种是使用已知的ico格式的图标:
#!/usr/bin/evn python
# -*- coding: cp936 -*-

import wx
import shutil
import os

class Create_Frame( wx.Frame ):
    def __init__( self, parent, ID, title ):
        wx.Frame.__init__( self, parent, ID, title, size = ( 380, 250) ,
                           style = wx.DEFAULT_FRAME_STYLE|wx.STAY_ON_TOP )
        panel = wx.Panel( self, -1 )
        self.icon = wx.Icon('lihf.ico', wx.BITMAP_TYPE_ICO)
        self.SetIcon(self.icon) 
        self.list0 = ["中国", "美国", "俄罗斯", "日本", "韩国", "英国", "澳大利亚"]
        rb = wx.RadioBox(
                panel, -1, "北京奥运", wx.DefaultPosition, wx.DefaultSize,
                self.list0, 1, wx.RA_SPECIFY_COLS | wx.NO_BORDER )
        rb.SetToolTip(wx.ToolTip("北京加油!"))
        rb.Bind(wx.EVT_RADIOBOX, self.Print, rb)
    def Print( self, event ):
        ID =  event.GetInt()
        print self.list0[ID]
       
if __name__ == '__main__':

    app = wx.PySimpleApp()
    frame = Create_Frame(None, -1, "new frame")
    frame.Show( True )
    app.MainLoop()
本例中ico图标文件名称是:lihf.ico,与程序源文件保存在同一个文件夹下就可。

第二种方法是:
import wx
import shutil
import os
import cStringIO

def GetMondrianData():
    return \
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\
\x00\x00szz\xf4\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x00qID\
ATX\x85\xed\xd6;\n\x800\x10E\xd1{\xc5\x8d\xb9r\x97\x16\x0b\xad$\x8a\x82:\x16\
o\xda\x84pB2\x1f\x81Fa\x8c\x9c\x08\x04Z{\xcf\xa72\xbcv\xfa\xc5\x08 \x80r\x80\
\xfc\xa2\x0e\x1c\xe4\xba\xfaX\x1d\xd0\xde]S\x07\x02\xd8>\xe1wa-`\x9fQ\xe9\
\x86\x01\x04\x10\x00\\(Dk\x1b-\x04\xdc\x1d\x07\x14\x98;\x0bS\x7f\x7f\xf9\x13\
\x04\x10@\xf9X\xbe\x00\xc9 \x14K\xc1<={\x00\x00\x00\x00IEND\xaeB`\x82'


def GetMondrianBitmap():
    return wx.BitmapFromImage(GetMondrianImage())


def GetMondrianImage():
    stream = cStringIO.StringIO(GetMondrianData())
    return wx.ImageFromStream(stream)


def GetMondrianIcon():
    icon = wx.EmptyIcon()
    icon.CopyFromBitmap(GetMondrianBitmap())
    return icon


class Create_Frame( wx.Frame ):
    def __init__( self, parent, ID, title ):
        wx.Frame.__init__( self, parent, ID, title, size = ( 380, 250) ,
                           style = wx.DEFAULT_FRAME_STYLE|wx.STAY_ON_TOP )
        panel = wx.Panel( self, -1 )

        self.SetIcon(GetMondrianIcon())
       
        self.list0 = ["中国", "美国", "俄罗斯", "日本", "韩国", "英国", "澳大利亚"]
        rb = wx.RadioBox(
                panel, -1, "北京奥运", wx.DefaultPosition, wx.DefaultSize,
                self.list0, 1, wx.RA_SPECIFY_COLS | wx.NO_BORDER )
        rb.SetToolTip(wx.ToolTip("北京加油!"))
        rb.Bind(wx.EVT_RADIOBOX, self.Print, rb)
    def Print( self, event ):
        ID =  event.GetInt()
        print self.list0[ID]
       
if __name__ == '__main__':

    app = wx.PySimpleApp()
    frame = Create_Frame(None, -1, "new frame")
    frame.Show( True )
    app.MainLoop()

该方法的图标是由固定代码组成的。

  评论这张
 
阅读(3344)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017