wxpython绘制圆角窗体


Posted in Python onNovember 18, 2019

本文实例为大家分享了wxpython绘制圆角窗体的具体代码,供大家参考,具体内容如下

# -*- coding:gbk -*-
 
import wx
 
class RCDialog(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平台
  if wx.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)
 
 def OnLeftDown(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))
 
 def OnMouseMove(self, event):
  if event.Dragging() and event.LeftIsDown():
   x, y = self.ClientToScreen(event.GetPosition())
   fp = (x - self.delta[0], y - self.delta[1])
   self.Move(fp)
 
 def OnRightUp(self, evt):
  self.Close()
 
 def SetBalloonShape(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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python调用机器喇叭发出蜂鸣声(Beep)的方法
Mar 23 Python
探究数组排序提升Python程序的循环的运行效率的原因
Apr 01 Python
Django Admin实现上传图片校验功能
Mar 06 Python
Python中的日期时间处理详解
Nov 17 Python
使用pandas对矢量化数据进行替换处理的方法
Apr 11 Python
python skimage 连通性区域检测方法
Jun 21 Python
Python Pandas批量读取csv文件到dataframe的方法
Oct 08 Python
python在html中插入简单的代码并加上时间戳的方法
Oct 16 Python
Python for循环与range函数的使用详解
Mar 23 Python
Python 一键制作微信好友图片墙的方法
May 16 Python
Python模拟FTP文件服务器的操作方法
Feb 18 Python
tensorflow+k-means聚类简单实现猫狗图像分类的方法
Apr 28 Python
wxpython绘制音频效果
Nov 18 #Python
python导入不同目录下的自定义模块过程解析
Nov 18 #Python
解决django model修改添加字段报错的问题
Nov 18 #Python
python sorted方法和列表使用解析
Nov 18 #Python
在Django中实现添加user到group并查看
Nov 18 #Python
Django继承自带user表并重写的例子
Nov 18 #Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 #Python
You might like
用PHP创建PDF中文文档
2006/10/09 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
简单的渐变轮播插件
2017/01/12 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
Python greenlet实现原理和使用示例
2014/09/24 Python
详解Python3中yield生成器的用法
2015/08/20 Python
理解Python中的With语句
2016/03/18 Python
python制作爬虫爬取京东商品评论教程
2016/12/16 Python
python机器人行走步数问题的解决
2018/01/29 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
Python if语句知识点用法总结
2018/06/10 Python
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
html5模拟平抛运动(模拟小球平抛运动过程)
2013/07/25 HTML / CSS
企业消防安全制度
2014/02/02 职场文书
优秀部门获奖感言
2014/02/14 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
如何写好建议书
2014/03/13 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
工作后的感想
2015/08/07 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
2016年最美孝心少年事迹材料
2016/02/26 职场文书