wxpython绘制圆角窗体
本文实例为大家分享了wxpython绘制圆角窗体的具体代码,供大家参考,具体内容如下
#-*-coding:gbk-*- importwx classRCDialog(wx.Dialog): def__init__(self,parent=None,size=wx.DefaultSize): wx.Dialog.__init__(self,parent,-1,size=size, style=wx.FRAME_SHAPED| wx.SIMPLE_BORDER| wx.FRAME_NO_TASKBAR| wx.STAY_ON_TOP) self.Centre(wx.BOTH) #linux平台 ifwx.Platform=="__WXGTK__": self.Bind(wx.EVT_WINDOW_CREATE,self.SetBalloonShape) else: self.SetBalloonShape() self.Bind(wx.EVT_LEFT_DOWN,self.OnLeftDown) self.Bind(wx.EVT_MOTION,self.OnMouseMove) self.Bind(wx.EVT_RIGHT_UP,self.OnRightUp) defOnLeftDown(self,event): pos=event.GetPosition() x,y=self.ClientToScreen(event.GetPosition()) ox,oy=self.GetPosition() dx=x-ox dy=y-oy self.delta=((dx,dy)) defOnMouseMove(self,event): ifevent.Dragging()andevent.LeftIsDown(): x,y=self.ClientToScreen(event.GetPosition()) fp=(x-self.delta[0],y-self.delta[1]) self.Move(fp) defOnRightUp(self,evt): self.Close() defSetBalloonShape(self,event=None): width,height=self.GetSize() bmp=wx.EmptyBitmap(width,height) dc=wx.BufferedDC(None,bmp) dc.BeginDrawing() dc.SetBackground(wx.Brush(wx.Colour(0,0,0),wx.SOLID)) dc.Clear() dc.DrawRoundedRectangle(0,0,width-1,height-1,4) dc.EndDrawing() r=wx.RegionFromBitmapColour(bmp,wx.Colour(0,0,0)) self.hasShape=self.SetShape(r) if__name__=="__main__": app=wx.PySimpleApp() dlg=RCDialog(size=(376,282)) dlg.Show() app.MainLoop()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。