Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2351289
  • 博文数量: 321
  • 博客积分: 3440
  • 博客等级: 中校
  • 技术积分: 2992
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-24 09:08
个人简介

我就在这里

文章分类

全部博文(321)

文章存档

2015年(9)

2014年(84)

2013年(101)

2012年(25)

2011年(29)

2010年(21)

2009年(6)

2008年(23)

2007年(23)

分类: Python/Ruby

2013-03-05 15:35:05

在wxPython中,有几个内置的脚本工具可以用来做图片格式转换,在c:\Python26\Lib\site-packages\wx-2.8-msw-unicode\wx\tools\路径下,包括img2png.py、img2py.py、img2xpm.py。

可以使用这些脚本方便地转换图片,如以下两个命令,分别转换图片为.png格式和.xpm格式:

img2png.py

img2xpm.py

 

而img2py.py则可以将图片转换为内嵌于Python脚本的形式:

img2py.py -n AppIcon appname.icon images.py

img2py.py -n AppIcon2 -a appname2.icon images.py

 

第二条命令可以将appname2.icon生成的内嵌文本加在images.py文件中。

然后,就可以在Frame中设置图标了:

import images.py

class AppnameFrame(wx.Frame):

    def__init__(self,parent):

        wx.Frame.__init__(self,parent,-1,'Appname',size=(600,400))

        self.SetIcon(images.AppIcon.GetIcon())

# ...

使用内嵌图标的好处是图标包含在程序文本中,通过编译可以实现隐蔽性。

 

设置窗口图标wx.SetIcon  

---------------------------------------------------

一种是使用已知的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 = ["a", "b", "c", "c", "e", "f", "g"]
        rb = wx.RadioBox(
                panel, -1, "a", wx.DefaultPosition, wx.DefaultSize,
                self.list0, 1, wx.RA_SPECIFY_COLS | wx.NO_BORDER )
        rb.SetToolTip(wx.ToolTip("a!"))
        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,与程序源文件保存在同一个文件夹下就可。

阅读(4699) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~