1概要: 1。1托盘图标设置 1。2普通图片显示:原图显示,缩放显示,窗口与图片大小相互适应。 1。3按钮图片设置 1。4移动图片和zoom菜单按钮联动设置 2托盘图标: 2。1效果图 2。2代码:importwxappwx。App()framewx。Frame(None,wx。IDANY,托盘图标显示)ico和png格式均可以,但是大小推荐是3232,我已经测试过500500可以tuopaniconwx。Icon(homexgjDesktopwxpython2imagewxpythonsmile。png,wx。BITMAPTYPEICO)frame。SetIcon(tuopanicon)等同于上面2行frame。SetIcon(wx。Icon(homexgjDesktopwxpython2imagewxpythonpy。ico,wx。BITMAPTYPEICO))frame。Show(True)app。MainLoop() 2普通图片显示: 2。1图片:来自今日头条正版免费图库:赵丽颖。 2。2代码:importwxappwx。App()声明图片对象imagewx。Image(homexgjDesktopwxpython2imagewxpython6。jpeg,wx。BITMAPTYPEJPEG)默认也可以imagewx。Image(homexgjDesktopwxpython2imagewxpython6。jpeg)图片缩放portion0。5wimage。GetWidth()portionhimage。GetHeight()portion原图大小显示wimage。GetWidth()himage。GetHeight()image。Rescale(int(w),int(h))窗口大小是显示的图片大小framewx。Frame(None,titleShowimage!,pos(0,0),size(int(w),int(h)))定义画板pnlwx。Panel(frame)图片格式转换mypicimage。ConvertToBitmap()显示图片wx。StaticBitmap(pnl,bitmapmypic,pos(0,0))窗口显示frame。Show(True)app。MainLoop() 2。3wx。Image()类说明: 调用bmp图片时,用wx。BITMAPTYPEBMP说明; 调用jpeg图片时,用wx。BITMAPTYPEJPEG说明;(jpg格式同此) 调用png图片时,用wx。BITMAPTYPEPNG说明; 调用gif图片时,用wx。BITMAPTYPEGIF说明。 3按钮图片设置: 3。1按钮显示图片来源: 3。2代码:讲解仔细,有两种代码,推荐后一种代码picbutton。py图片按钮方法一:提前将图片大小调节好100100importwxappwx。App()winwx。Frame(None,size(300,300))bitmap1wx。Image(homexgjDesktopwxpython2imagewxpythonlearn100。png,wx。BITMAPTYPEPNG)。ConvertToBitmap()bitmap2wx。Image(homexgjDesktopwxpython2imagewxpythonsource100。png,wx。BITMAPTYPEPNG)。ConvertToBitmap()wx。BitmapButton(win,1,bitmap1,pos(40,20),size(100,100))wx。BitmapButton(win,1,bitmap2,pos(160,20),size(100,100))win。Show()app。MainLoop()方法二:调用wx。Rescale函数,调节图片大小与按钮大小一致importwxappwx。App()窗口设置winwx。Frame(None,size(300,300))标题名加入后,一定要前面加:1winwx。Frame(None,1,按钮图片设置,size(300,300))bitmap1wx。Image(homexgjDesktopwxpython2imagewxpythonlearn。jpeg,wx。BITMAPTYPEJPEG)resize是不正确的调节图片大小bitmap1。Resize(size(100,100),pos(0,0),red1,green1,blue1)rescale才是调节图片大小bitmap1。Rescale(width100,height100,qualitywx。IMAGEQUALITYNORMAL)bitmap1。Rescale(width100,height100)bt1bitmap1。ConvertToBitmap()bitmap2wx。Image(homexgjDesktopwxpython2imagewxpythonsource。jpeg,wx。BITMAPTYPEJPEG)bitmap2。Resize(size(100,100),pos(0,0),red1,green1,blue1)bitmap2。Rescale(width100,height100,qualitywx。IMAGEQUALITYNORMAL)bitmap2。Rescale(width100,height100)bt2bitmap2。ConvertToBitmap()把图片放在按钮上wx。BitmapButton(win,1,bt1,pos(40,20),size(100,100))wx。BitmapButton(win,1,bt2,pos(160,20),size(100,100))win。Show()app。MainLoop() 3。3效果图 4移动图片和zoom菜单联动设置: 4。1效果图: 4。2代码:importwxfromwx。lib。floatcanvasimportNavCanvas,FloatCanvasTestFileNamehomexgjDesktopwxpython2imagewxpython6。jpegclassDrawFrame(wx。Frame):definit(self,args,kwargs):wx。Frame。init(self,args,kwargs)增加状态栏self。CreateStatusBar()AddtheCanvas画布大小,背景颜色设置NCNavCanvas。NavCanvas(self,1,size(500,500),BackgroundColorPink)self。CanvasNC。Canvas加载函数读取图片self。LoadGirl(TestFileName)移动数据坐标绑定,显示在状态栏下面self。Canvas。Bind(FloatCanvas。EVTMOTION,self。OnMove)展示self。Show()self。Canvas。ZoomToBB()加载图片函数defLoadGirl(self,filename):Imagewx。Image(filename)self。Canvas。AddScaledBitmap(Image,(0,0),HeightImage。GetSize()〔1〕,Positiontl)画点和文字显示self。Canvas。AddPoint((0,0),Diameter3)self。Canvas。AddText((0,0),(10,20),Positioncl)获取图片大小列表中0代表宽,1代表高p(Image。GetSize()〔0〕,Image。GetSize()〔1〕)self。Canvas。AddPoint(p,Diameter3)self。Canvas。AddText((i,i)p,p,Positioncl)图片缩放大小设置self。Canvas。MinScale0。15self。Canvas。MaxScale1。0移动坐标数据函数defOnMove(self,event):在状态栏显示self。SetStatusText(。2f,。2ftuple(event。Coords))appwx。App(False)FDrawFrame(None,titleFloatCanvasShowGirl,size(700,700))app。MainLoop() 未完待续