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中封装GObject模块进行图形化程序编程的教程
Apr 14 Python
python实现按行切分文本文件的方法
Apr 18 Python
python使用邻接矩阵构造图代码示例
Nov 10 Python
Django中cookie的基本使用方法示例
Feb 03 Python
python pygame实现方向键控制小球
May 17 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
Aug 27 Python
关于Numpy数据类型对象(dtype)使用详解
Nov 27 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
tensorboard显示空白的解决
Feb 15 Python
Python如何用filter函数筛选数据
Mar 05 Python
python中reload重载实例用法
Dec 15 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 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
List Installed Software Features
2007/06/11 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
利用JQuery阻止事件冒泡
2016/12/01 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
原生js实现省市区三级联动代码分享
2018/02/12 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
[35:55]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.11
2020/12/13 DOTA
跟老齐学Python之传说中的函数编写条规
2014/10/11 Python
使用python将时间转换为指定的格式方法
2018/11/12 Python
Django框架模板文件使用及模板文件加载顺序分析
2019/05/23 Python
python matplotlib库绘制条形图练习题
2019/08/10 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
numpy np.newaxis 的实用分享
2019/11/30 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
Python实现给PDF添加水印的方法
2021/01/25 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
仓库管理专业个人自我评价范文
2013/11/11 职场文书
网上开商店的创业计划书
2014/01/19 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
保护环境的标语
2014/06/09 职场文书
单位委托书范本(3篇)
2014/09/18 职场文书
七年级作文之下雨天
2019/12/23 职场文书
python关于集合的知识案例详解
2021/05/30 Python
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android