介绍

使用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制作桌面悬浮球相关推荐

  1. js拖拽360桌面悬浮球代码

    js拖拽360桌面悬浮球代码 原生js制作简单好用的360桌面悬浮球,可拖拽到浏览器边缘,自动贴边,自动适应屏幕效果. 演示地址 下载地址

  2. HTML中拖动消失的球代码,js拖拽360桌面悬浮球代码

    原生js制作简单好用的360桌面悬浮球,可拖拽到浏览器边缘,自动贴边,自动适应屏幕效果. 使用方法: 1.head引入css文件 * { margin: 0; padding: 0; list-sty ...

  3. Electron桌面悬浮球工具,支持拖动及配置,提供了待办事项、快速笔记等功能。

    HiLoop HiLoop是一个简约的桌面悬浮球工具,支持拖动及配置,提供了待办事项.快速笔记等功能.忙里偷闲体验一下用前端的方式开发桌面端应用,学习的同时做一些有意思的小东西. 叫HiLoop的原因 ...

  4. 使用MFC制作windows悬浮球

    上周入手一个二手windows平板(目的只是为了玩),发现习惯使用手机悬浮球后,再转到winpad上操作极为不便,比如想显示桌面都要小心翼翼点,切换任务也比较麻烦(本人不习惯开启平板模式,使用的是常规 ...

  5. qt 桌面悬浮球 ToolTip 右键菜单

    腾讯管家或者360桌面总会带一个很没用的悬浮球,qt做出这种效果非常简单 设置窗体无边框和无背景(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint) ...

  6. fooview辅助功能 shell_Fooview:一款功能超多的桌面悬浮球,帮你摆脱多余操作

    今天给大家推荐的这款软件是Fooview,也叫做FV悬浮球,适合于安卓端,这款软件非常的强大,不能认为它就是一个普普通通的悬浮球软件. 它除了是悬浮球工具外,还有很多其它的功能,官方号称常用功能超越1 ...

  7. HTML5悬浮球源码,js拖拽360桌面悬浮球代码

    使用方法: 1.head引入css文件 * { margin: 0; padding: 0; list-style: none; } html, body { width: 100%; height: ...

  8. QT制作360悬浮球

    经过几天的努力还是成功的在返校前把基本效果都完成了,可以实现的功能有左键点击拖拽,松开按键后自动贴边,右键点击后出现菜单栏,中键点击后关闭.其中自动贴边使用动画完成. 等代码审核通过会附上代码链接,由 ...

  9. 【android】悬浮球

    效果图 原理 获取windowManager 设定WindowManager.LayoutParams使窗口悬浮 主要涉及的值如下,其中 params.type = WindowManager.Lay ...

最新文章

  1. CVPR2021:推广到开放世界的在线自适应深度视觉里程计
  2. R语言_高级数据管理
  3. golang 切片的三种简单使用方式及区别
  4. 【技术综述】闲聊图像分割这件事儿
  5. 利用PowerShell进行数据库部署冒烟测试
  6. OpenCASCADE:建立Body
  7. 为什么非全站升级HTTPS不可?
  8. linux下git修改密码后无法使用,git push后账号密码输出错误和修改
  9. SAP Commerce Cloud Spartacus UI 的购物车 Cart 功能
  10. 【MFC系列-第20天】CDC绘图类成员介绍
  11. [vue-cli]不用vue-cli,你自己有搭建过vue的开发环境吗?流程是什么?
  12. 【Flink】Flink 1.14 版本 新特性 Barrier 在流经算子做 checkpoint Barrier跳过 unaligned checkpoint
  13. jython语法入门
  14. mysql count视频教程_mysql count提高方法总结
  15. docker 搭建redis可视化工具treenms
  16. 科学计算机壁纸,Nature大盘点:2020年最佳科学影像,每一张都是壁纸,每一张都是历史...
  17. 【图像加密】基于Arnold置乱图像加密解密Matlab代码
  18. pointnet源码阅读:训练
  19. android 逆向so,逆向Android SO,以《遇见》App为例
  20. 文本相似度 Text Similarity

热门文章

  1. 遗传算法求函数最小值(多维)2
  2. IE被www 537 com www COXDX INFO劫持,修复
  3. 为什么Android手机APP闪退,安卓手机软件闪退怎么办 安卓软件停止运行解决方法_系统圣地...
  4. HAL库中断方式实现串口通信操作
  5. linux ll命令
  6. Android电话拨号器实例详解
  7. (秋招/春招)软件开发/软件测试面试题——计算机网络部分
  8. 032 参数方程确定的函数导数
  9. 系统之家 linux下载,深度系统deepin linux最新版ISO镜像下载 V15.4.1
  10. 听说这款数学课件制作工具双十一也搞事?