wxpython制作桌面悬浮球
介绍
使用wxpython制作一个类似于电脑管家一样的悬浮球。
功能
- 圆形窗口
- 自动鼠标离开悬浮球自动贴边
- 鼠标在悬浮球上自动弹出整个悬浮球
效果
代码
import wxclass myframe(wx.Frame):def __init__(self):super().__init__(parent=None,pos=wx.DefaultPosition,style=wx.FRAME_SHAPED|wx.FRAME_NO_TASKBAR, size=(150,150))self.bg = wx.Bitmap("images/2.png", wx.BITMAP_TYPE_PNG) # 悬浮球的图片 region = wx.Region(self.bg)self.SetShape(region)path = wx.GraphicsRenderer.GetDefaultRenderer().CreatePath()path.AddCircle(70, 68, 68) # 圆形路径,参数x,y,r。通过调整坐标半径来找出合适的图片位置self.SetShape(path)self.SetToolTip("提示字符串")self.Bind(wx.EVT_PAINT, self.OnPaint)self.Bind(wx.EVT_MOTION, self.OnMouseMotion)self.Bind(wx.EVT_RIGHT_UP, self.OnRightClickEvent)self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftClickDown)self.Bind(wx.EVT_LEAVE_WINDOW, self.ResetPosition)self.Bind(wx.EVT_ENTER_WINDOW, self.DisplayWindow)# 鼠标左键按下时获取位置def OnLeftClickDown(self, event):self.pt = event.GetPosition()# 鼠标右键退出窗口def OnRightClickEvent(self, event):wx.Exit()# 悬浮球拖拽def OnMouseMotion(self, event):if event.Dragging() and event.LeftIsDown():pos = self.ClientToScreen(event.GetPosition())self.Move((pos.x-self.pt.x, pos.y-self.pt.y))# 绘制 def OnPaint(self,event):mydc=wx.PaintDC(self)mydc.DrawBitmap(self.bg,0,0,True)# 离开悬浮球时贴边def ResetPosition(self, event):if event.LeftIsDown():pos = self.ClientToScreen(event.GetPosition())else:pos = self.GetPosition()self.SetPosition((pos.x,-120))# 鼠标放在悬浮球上是弹出def DisplayWindow(self, event):pos = self.GetPosition()self.SetPosition((pos.x, 0))myapp=wx.App()
frame=myframe()
frame.Show()
myapp.MainLoop()
wxpython制作桌面悬浮球相关推荐
- js拖拽360桌面悬浮球代码
js拖拽360桌面悬浮球代码 原生js制作简单好用的360桌面悬浮球,可拖拽到浏览器边缘,自动贴边,自动适应屏幕效果. 演示地址 下载地址
- HTML中拖动消失的球代码,js拖拽360桌面悬浮球代码
原生js制作简单好用的360桌面悬浮球,可拖拽到浏览器边缘,自动贴边,自动适应屏幕效果. 使用方法: 1.head引入css文件 * { margin: 0; padding: 0; list-sty ...
- Electron桌面悬浮球工具,支持拖动及配置,提供了待办事项、快速笔记等功能。
HiLoop HiLoop是一个简约的桌面悬浮球工具,支持拖动及配置,提供了待办事项.快速笔记等功能.忙里偷闲体验一下用前端的方式开发桌面端应用,学习的同时做一些有意思的小东西. 叫HiLoop的原因 ...
- 使用MFC制作windows悬浮球
上周入手一个二手windows平板(目的只是为了玩),发现习惯使用手机悬浮球后,再转到winpad上操作极为不便,比如想显示桌面都要小心翼翼点,切换任务也比较麻烦(本人不习惯开启平板模式,使用的是常规 ...
- qt 桌面悬浮球 ToolTip 右键菜单
腾讯管家或者360桌面总会带一个很没用的悬浮球,qt做出这种效果非常简单 设置窗体无边框和无背景(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint) ...
- fooview辅助功能 shell_Fooview:一款功能超多的桌面悬浮球,帮你摆脱多余操作
今天给大家推荐的这款软件是Fooview,也叫做FV悬浮球,适合于安卓端,这款软件非常的强大,不能认为它就是一个普普通通的悬浮球软件. 它除了是悬浮球工具外,还有很多其它的功能,官方号称常用功能超越1 ...
- HTML5悬浮球源码,js拖拽360桌面悬浮球代码
使用方法: 1.head引入css文件 * { margin: 0; padding: 0; list-style: none; } html, body { width: 100%; height: ...
- QT制作360悬浮球
经过几天的努力还是成功的在返校前把基本效果都完成了,可以实现的功能有左键点击拖拽,松开按键后自动贴边,右键点击后出现菜单栏,中键点击后关闭.其中自动贴边使用动画完成. 等代码审核通过会附上代码链接,由 ...
- 【android】悬浮球
效果图 原理 获取windowManager 设定WindowManager.LayoutParams使窗口悬浮 主要涉及的值如下,其中 params.type = WindowManager.Lay ...
最新文章
- CVPR2021:推广到开放世界的在线自适应深度视觉里程计
- R语言_高级数据管理
- golang 切片的三种简单使用方式及区别
- 【技术综述】闲聊图像分割这件事儿
- 利用PowerShell进行数据库部署冒烟测试
- OpenCASCADE:建立Body
- 为什么非全站升级HTTPS不可?
- linux下git修改密码后无法使用,git push后账号密码输出错误和修改
- SAP Commerce Cloud Spartacus UI 的购物车 Cart 功能
- 【MFC系列-第20天】CDC绘图类成员介绍
- [vue-cli]不用vue-cli,你自己有搭建过vue的开发环境吗?流程是什么?
- 【Flink】Flink 1.14 版本 新特性 Barrier 在流经算子做 checkpoint Barrier跳过 unaligned checkpoint
- jython语法入门
- mysql count视频教程_mysql count提高方法总结
- docker 搭建redis可视化工具treenms
- 科学计算机壁纸,Nature大盘点:2020年最佳科学影像,每一张都是壁纸,每一张都是历史...
- 【图像加密】基于Arnold置乱图像加密解密Matlab代码
- pointnet源码阅读:训练
- android 逆向so,逆向Android SO,以《遇见》App为例
- 文本相似度 Text Similarity
热门文章
- 遗传算法求函数最小值(多维)2
- IE被www 537 com www COXDX INFO劫持,修复
- 为什么Android手机APP闪退,安卓手机软件闪退怎么办 安卓软件停止运行解决方法_系统圣地...
- HAL库中断方式实现串口通信操作
- linux ll命令
- Android电话拨号器实例详解
- (秋招/春招)软件开发/软件测试面试题——计算机网络部分
- 032 参数方程确定的函数导数
- 系统之家 linux下载,深度系统deepin linux最新版ISO镜像下载 V15.4.1
- 听说这款数学课件制作工具双十一也搞事?