精华内容
下载资源
问答
  • 迅雷下载进度悬浮球

    2020-08-25 14:08:44
    根据效果图上显示,进度悬浮球外观是一个圆,内部是两条水波纹荡漾实现,最中间的文字是三个标签组成。 三、技术难点 根据效果图显示,小球中间的水波纹实现是本文的难点,其中有两个难点,分别是:①水波纹如何实现...

    一、效果图
    在这里插入图片描述
    二、效果图拆解
    根据效果图上显示,进度悬浮球外观是一个圆,内部是两条水波纹荡漾实现,最中间的文字是三个标签组成。
    三、技术难点
    根据效果图显示,小球中间的水波纹实现是本文的难点,其中有两个难点,分别是:①水波纹如何实现?②如何绘制这样的下面是圆的一部分,上面是水波纹?
    四、难点实现讲解
    ①效果图上的水波纹实际上两条正弦/余弦函数周期波动,一条颜色透明度比较高,放在后面,一条颜色透明度比较低,放在前面,采用定时器,周期性的移动这两条波动函数,实现水波纹效果。
    ②如何绘制下面是圆形,上面是水波纹的异形图案?Qt的QPainterPath类提供了一个函数计算两个闭合图案的交集的路径所有点,再使用QPainter绘制路径即可。效果图上的实现图案路径分成两个,一个是圆形图案路径,一个是由左下角到水波高度的直线+波动图像路径+水波纹高度到右下角的直线构成的闭合图像。两个图案求交集后就是效果图上的下面是圆的一部分,上面是正弦/余弦函数的一部分图案。
    五、绘制过程拆解
    ①先绘制一个圆圈,颜色指定为灰白色,指定一个透明度即可。并将圆圈的路径记录在QPainterPath中。
    ②计算正弦/余弦函数所在整个控件上的坐标路径集合,放在QPainterPath中。
    ③计算上一步中的路径集合与第一步中的路径集合的交集区域。
    ④先绘制一个颜色透明度较高的异形窗口放在后面,再绘制一个颜色透明度相对较低的异形窗口放前面。
    ⑤设置定时器,定时周期性的移动上面计算的正弦/余弦函数,达到水波纹效果。
    六、准备工作
    ①初始化窗口类,类继承自QDialog,设置窗口大小,去掉标题栏,任务栏,窗口置顶等,代码如下所示:

    	m_value=80;		//当前进度值
        m_offset=0;	·	//当前偏移量
    	setFixedSize(70,70);
    	//去掉标题栏 设置置顶 去掉任务栏图标
    	setWindowFlags(Qt::FramelessWindowHint|Qt::Tool|Qt::WindowCloseButtonHint|Qt::WindowStaysOnTopHint);
    

    ②设置控件再主屏幕上的显示位置,将窗口移动到主屏幕右下角位置,代码如下:

    	//获取主屏尺寸 设置位置
    	QScreen *primaryScreen=QGuiApplication::primaryScreen();
    	if(primaryScreen==nullptr)
    	    return;
    	geometry=primaryScreen->availableGeometry();
    	this->move(geometry.width()-100,geometry.height()*0.6);
    

    ③很重要的一点,设置窗口背景透明,如果不设置这个,窗口运行起来就是有一个白色背景,设置代码如下:

    	//设置窗口背景透明
    	setAttribute(Qt::WA_TranslucentBackground, true);
    

    ④设置窗口可以随着鼠标拖动而移动,这里需要重写QWidget类的三个虚函数方法,分别是:

    	void mousePressEvent(QMouseEvent*);
    	void mouseMoveEvent(QMouseEvent*);
    	void mouseReleaseEvent(QMouseEvent*);
    

    实现代码如下所示:

    	//定义变量-记录最后的移动位置
    	QPoint last;
    	//实现三个虚函数
    	void GuardXiaobei::mousePressEvent(QMouseEvent *e)
    	{
    	    last = e->globalPos();
    	}
    	void GuardXiaobei::mouseMoveEvent(QMouseEvent *e)
    	{
    	    if((last.x()==0)&&(last.y()==0))
    	        return;
    	    int dx = e->globalX() - last.x();
    	    int dy = e->globalY() - last.y();
    	    last = e->globalPos();
    	    this->move(x()+dx, y()+dy);
    	}
    	void GuardXiaobei::mouseReleaseEvent(QMouseEvent *e)
    	{
    	    if((last.x()==0)&&(last.y()==0))
    	        return;
    	    int dx = e->globalX() - last.x();
    	    int dy = e->globalY() - last.y();
    	    this->move(x() + dx, y() + dy);
    	}
    

    七、详细绘制过程
    ①首先初始化必要的变量,比如设置圆圈的半径大小(这里默认设置为35像素),初始化界面上显示百分比的几个控件,设置对齐方式等,设置几个控件的代码如下:

    	//初始化控件
    	lab_Value=new QLabel();
    	QLabel *lab_Unit=new QLabel();
    	QLabel *lab_NetSpeed=new QLabel();
    	QHBoxLayout* valueLayout=new QHBoxLayout();
    	QVBoxLayout* mainLayout=new QVBoxLayout();
    	//设置控件样式
    	lab_Value->setFont(QFont("宋体",18));
    	//设置控件文字
    	lab_Value->setText("10");
    	lab_Unit->setText("MB/s");
    	lab_NetSpeed->setText("+ 0B/s");
    	//设置控件文字对齐方式
    	lab_Value->setAlignment(Qt::AlignHCenter|Qt::AlignBottom);
    	lab_Unit->setAlignment(Qt::AlignHCenter|Qt::AlignBottom);
    	lab_NetSpeed->setAlignment(Qt::AlignHCenter|Qt::AlignTop);
    	lab_Value->setFixedHeight(40);
    	lab_Unit->setFixedHeight(36);
    	//设置布局
    	valueLayout->setMargin(0);
    	valueLayout->setSpacing(0);
    	valueLayout->addStretch(1);
    	valueLayout->addWidget(lab_Value);
    	valueLayout->addWidget(lab_Unit);
    	valueLayout->addStretch(1);
    	mainLayout->setMargin(0);
    	mainLayout->setSpacing(0);
    	mainLayout->addLayout(valueLayout,3);
    	mainLayout->addWidget(lab_NetSpeed,2);
    	setLayout(mainLayout);
    

    ②重载QWidget的绘图函数paintEvent。初始化绘图的QPainter对象,启用反锯齿,代码如下所示:

    	QPainter painter(this);
    	//启动反锯齿
    	painter.setRenderHint(QPainter::Antialiasing, true);
    

    ③计算圆形的宽度,绘制一个填充圆,外边框的颜色值为RGBA(230,230,230,200)。内部填充色为RGB(255,255,255)。代码如下所示:

    	int height = this->height();
    	int width = this->width();
    	int roundWidth = qMin(width, height)-2;
    	//圆路径集合
        QPainterPath roundPath;
        roundPath.addEllipse(1, 1, roundWidth, roundWidth);
    	//绘制一个填充圆
    	painter.setPen(QColor(230,230,230,200));
    	painter.setBrush(QColor(255,255,255));
    	painter.drawEllipse(1, 1, roundWidth, roundWidth);
    	//painter.drawPath(roundPath);		//和上一句效果一样 等价替换
    

    其中height和width下面代码中还要使用,这里绘制的效果图如下所示:
    在这里插入图片描述
    ④计算正弦/余弦函数波形图的路径,代码如下所示,下面的变量m_offset是偏移量,这里可以先定义为0,后面在定时更新的时候要用:

    	//波浪线路径集合
    	QPainterPath wavyPath1;
    	QPainterPath wavyPath2;
    	//计算当前值在进度条中高度
    	int currentHeight = (1-(m_value)/100.0)*height;
    	//计算圆中有多少个完整周期 这里为1.5个周期
    	double roundCycle = 3 * M_PI /width;
    	//移动到左下角起始点
    	wavyPath1.moveTo(0, height);
    	wavyPath2.moveTo(0, height);
    	for(int i=0;i<=width;++i) {
    	    //第一条波浪Y轴
    	    double wavyY1 = (double)(2*qSin(roundCycle*i+m_offset)) + currentHeight;
    	    //第二条波浪Y轴
    	    double wavyY2 = -(double)(2*qSin(roundCycle*i+m_offset)) + currentHeight;
    	    if (m_value == 0) {
    	        wavyY1 = height;
    	        wavyY2 = height;
    	    }
    	    if (m_value == 100) {
    	        wavyY1 = 0;
    	        wavyY2 = 0;
    	    }
    	    //添加点在路径中
    	    wavyPath1.lineTo(i, wavyY1);
    	    wavyPath2.lineTo(i, wavyY2);
    	}
    	//移动到右下角结束点 形成一个闭合路径 后面才能取交集
    	wavyPath1.lineTo(width, height);
    	wavyPath2.lineTo(width, height);
    

    ⑤先将绘制的圆形的路径添加到一个路径变量中,然后计算异形图像路径和圆形图案之间交集路径,并绘制,代码如下所示:

    	//用波浪线和填充圆的交集绘制进度
    	QPainterPath intersectedPath;
    	painter.setPen(Qt::NoPen);
    	//第一条波浪与圆的交集路径集合并绘制路径
    	intersectedPath=roundPath.intersected(wavyPath1);
    	painter.setBrush(QColor(185,187,255,100));
    	painter.drawPath(intersectedPath);
    	//第二条波浪与圆的交集路径集合并绘制路径
    	intersectedPath=roundPath.intersected(wavyPath2);
    	painter.setBrush(QColor(107,150,255,150));
    	painter.drawPath(intersectedPath);
    

    效果图如下所示:
    在这里插入图片描述
    ⑥此时的绘制函数代码已经全部完成,剩下就是添加定时器,让水波纹周而复始的移动,代码如下所示:

    	//在构造函数中启动定时器
    	startTimer(150);
    	//重写timerEvent函数,定期执行更新操作
    	void ThunderFloatBall::timerEvent(QTimerEvent*)
    	{
    		update();
    	}
    	在paintEvent函数中,计算偏移量
    	//计算偏移值
    	m_offset+=0.5;
    	if (m_offset > (width)) {
    	    m_offset = 0;
    	}
    

    八、最后总结
    ①目前只是实现了悬浮球的鼠标点击拖动,并没有做悬浮球碰到边界的检测和贴边收缩功能。后续增加这个功能。
    ②上面描述的是绘制的整个过程,源码中,给出了设置开一系列参数设置函数,可以根据自身需要设置不同的值,实现不同的效果。

    九、代码获取
    ①需要源代码的可以加群联系作者,群二维码如下:
    在这里插入图片描述
    ②从Git下载,地址为:https://github.com/youyicc/ThunderFloatBall.git

    展开全文
  • 1、下载:小米电纸书完整驱动包+悬浮球.rar 2、压缩包放C盘 ,然后 右键压缩包 解压到当前文件夹。 右键解压到当前文件夹 3、开启小米多看电纸书开发者模式 个人->设置->关于,进入关于本机页面,连续点击底部...
    • 效果
      在这里插入图片描述

    1、下载:小米电纸书完整驱动包+悬浮球.rar

    下载链接
    https://download.csdn.net/download/qq_44757034/12386466

    2、压缩包放C盘

    • 右键压缩包 解压到当前文件夹。

    3、小米多看电纸书开发者模式

    • 个人->设置->关于,
    • 进入关于本机页面,连续点击底部的版本号6次。会提示你进入开发者模式。
    • 设置->设备, 会出现开发者选项。
    • 开启开发者模式,并保持和电脑的链接

    4、启动命令行

    • 电脑进入找到刚才解压的C盘的adb-cmd目录:
    • C:\mireader-tools\adb-cmd
      双击文件双击打开命令行.bat
      之后会弹出命令行窗口。
      在这里插入图片描述
    • 命令行进入adb目录
    • 如果你的命令行窗口显示:
    C:\mireader-tools\adb-cmd>
    
    • 无需变动
    • 如果窗口显示:
    C:\WINDOWS\system64>
    
    • 则输入:
    cd C:\mireader-tools\adb-cmd
    
    • 之后命令行进入adb-cmd目录,窗口显示:
    C:\mireader-tools\adb-cmd>
    

    5、小米多看电纸书USB连接电脑,

    • 小米多看电纸书通过USB连接电脑,
    • 选择文件传输选项

    6、启动adb服务

    • 输入:
    adb start-server
    
    • 如果输出
     - daemon started successfully
    
    • 说明adb启动成功,直接看下一步。

    7、安装悬浮球

    • 输入:
    adb install xuanfuqiu.apk
    
    • 输出:
    Success
    
    • 说明安装成功。
    • 输入:
    adb reboot
    

    无字符输出。稍等片刻,设备会自动重启。断开USB连接线,后面不需要连电脑了。

    8、设置悬浮球上层显示

    • 重启进入小米多看电纸书桌面,点击悬浮球。
    • 让其显示在其他应用的上层
      在这里插入图片描述
    • 允许悬浮球上层显示
      在这里插入图片描述
    • 允许显示在其他应用的上层,后左上角返回

    9、重启小米多看电纸书

    • 桌面和悬浮球安装成功

    10、安装其他软件,安装微信阅读

    (1)下载微信阅读水墨屏版官网
    https://ink.qq.com/

    在这里插入图片描述
    (2)保证电纸书USB连接电脑,将下载好的文件更改名称,将其放入到(更改名称是为了方便安装)

    • C:\小米电纸书完整驱动包+悬浮球\mireader-tools\adb-cmd下
      在这里插入图片描述
      (3)在adb模式下
    • 输入:
    adb install weread.apk
    
    • 输出:
    Success
    
    • 安装成功
    展开全文
  • 仿电脑管家悬浮球

    2021-05-05 11:14:49
    仿电脑管家悬浮球,开机自启,实时记录win系统内部占比,上行,下行速度,还有更多功能完善中。 安装包下载地址 链接:https://pan.baidu.com/s/1BOwZhnbPtx_ap-VzP6IwsA 提取码:7i4e

    仿电脑管家悬浮球,开机自启,实时记录win系统内部占比,上行,下行速度,还有更多功能完善中。在这里插入图片描述
    安装包下载地址
    链接:https://pan.baidu.com/s/1BOwZhnbPtx_ap-VzP6IwsA
    提取码:7i4e

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

    js拖拽360桌面悬浮球代码

    js拖拽360桌面悬浮球代码

    原生js制作简单好用的360桌面悬浮球,可拖拽到浏览器边缘,自动贴边,自动适应屏幕效果。

    演示地址

    下载地址

    展开全文
  • [安卓,android源码] Android平台替代虚拟按键悬浮球,参考魅族悬浮球设计。捡代码论坛整理提供 下载地址:http://download.csdn.net/detail/ai_ma_ai/9688556 ...
  • 一个类似360助手的悬浮球源码,带动画效果的,有兴趣的朋友可以下载来试试,可以扩展到你的程序中。融合性非常好!
  • 画面中悬浮球可任意拖拽,拖拽结束后会靠在最近的屏幕边缘,会适应各种分辨率的情况。 利用锚点设置,工程代码见下载链接:https://download.csdn.net/download/piaoyun29/11441684 /// <summary> /// ...
  • 甜甜圈 本应用是Android平台用来替换虚拟按键的悬浮球,参考魅族虚浮球设计! ##下载apk 联系我 way: 测试截图
  • Qt 仿360悬浮球

    2019-11-05 16:51:28
    功能: 1,常规自定义拖动时间 2,异形窗体 3,鼠标进出区域 4,自定义右键菜单 5,自动贴边以及防止拖拽出屏幕区域 ...下载路径:https://download.csdn.net/download/qq_28171461/11959094 ...
  • [安卓,android源码] Android平台替代虚拟按键悬浮球,参考魅族悬浮球设计。捡代码论坛整理提供 下载地址:http://download.csdn.net/detail/ai_ma_ai/9688556 更多源...
  • 下载链接在最后哦!! 超级神行者 这个软件属于网络通讯应用,是个安卓虚拟的定位工具。适用于各种你想的到的主流社交平台,让你随意设定手机的地理位置。摆脱监控app的监视,保护个人隐私,在社交软件中设置位置,...
  • 看到某60的网速悬浮球有点心动,但是又不想装这个流氓软件,就自己用python加PyQt5自制了一个,实测不错,关键不占用电脑一点资源,已将软件打包,可自行下载使用。
  • 看到某60的网速悬浮球有点心动,但是又不想装这个流氓软件,就自己用python加PyQt5自制了一个,实测还行,关键不占用电脑一点资源,已将软件打包,可自行下载使用。 预览 观看直播时实时网速。 文件结构 运行管理 ...
  • 这个开源项目是从之前做的一个内存清理应用抽取出来的,下载地址:点我下载TT内存清理 这个库是什么? 这是一个桌面悬浮窗工具,拉手下拉会出现气球动画。 用来做什么? 演示应用是一个小工具,用于清理...
  • SDK NDK 下载

    2018-01-22 09:41:23
    屏蔽HOME键,如home失灵、乱触也可以使用该方法屏蔽home键功能,改用悬浮球替代home键。 1.需要ROOT 第一步;同样使用RE文件管理器修改系统状态为读写 第二步:用RE管理器找到/system/usr/keylayout,然后找到m
  • 一、介绍 1.1 实现效果 通过手机中划词屏幕上的字然后进行OCR识别成文字,通过结合...  fooview是FV软件家族的安卓手机上的功能之一,在手机上展示时只是一个悬浮球,但容纳了浏览器、文件管理、截屏录屏、识别翻
  • fooview 现在也叫FV阅览器,...除了常用的悬浮球工具外,它还可以作为文件管理器,应用管理,音频视频播放器,图片管理器,文字识别软件,截屏录屏,在线管理网盘,便签软件,下载管理器,剪贴板增强,快速翻译,...
  • 安卓悬浮菜单全解锁是一款十分好用的安卓桌面快捷操作整理工具,这款软件可以让你手机拥有一个和iPhone一样的手势悬浮球,一键打开各种应用以及操作,需要的小伙伴赶紧来下载这款安卓悬浮菜单全解锁吧~软件介绍悬浮...
  • Android代码-RelaxFinger

    2019-08-06 04:11:24
    悬浮球默认屏幕居中,可通过长按悬浮球移动 到合适位置,或开启"吸附屏幕边缘"功能。 通过RelaxFinger设置界面底部"手势功能设置" 查看触摸悬浮球手势所对应的功能,进入到 "手势设置界面"点击手势名称设置符合...
  • 下载说明:由于可执行文件比较大,如有需要请到网盘下载。 网店地址:https://shop244026315.taobao.com/ 联系方式:QQ:517216493 微信:feiyangqingyun QQ好友满了推荐加微信 视频相关作品体验地址:...
  • 个人主页(上下左右滚动、header悬浮)参考PagingViewController类 更多样式请点击查看JXPagingView库 垂直列表滚动参考VerticalListViewController类 高仿腾讯视频支持UITableView,参考...
  • 安卓仙乐v1.3 音乐.apk

    2020-07-24 11:47:34
    原魔音、音乐狂出品的安卓音乐下载应用,聚合各大音乐平台网站搜索接口,免费在线试听...免费无广告,音乐源可以选择搜索接口,支持批量下载,登录同步歌单、在线试听悬浮小球、显示歌词界面写真轮播、保存写真背景图。
  • 星星球脚本,打开AutoJS悬浮球 然后进入到开始的界面,通过悬浮球菜单打开星星球.js 自动开始和小鸡玩,默认达到230分就结束。 支持自定义扩展解锁和配置信息,不会因为更新脚本导致配置丢失 小鸡登山脚本正在开发中...
  • 8、页面滚动到一定高度显示悬浮菜单 9、回到顶部按钮--缓冲效果 10、水波按钮 11、幽灵按钮 12、CSS3实现按钮温柔闪光灯效果 其它 1、DOM实现鼠标滑过右边动态显示详细信息 2、实现复选框全选、全不选和反选功能 3...
  • VMware安装win7系统

    2020-12-15 09:20:50
    为了测试C# 桌面应用程序 悬浮球在win7系统和xp系统上的兼容性,特意在虚拟机上安装一个win7系统和xp系统,虽然网上有些资料,但还是花费了一些时间,win7系统 和 xp系统安装一样,记录一下。 需要用到的工具 ...
  • 限速解决方案

    2018-03-29 22:53:00
    3、下载中迅雷的悬浮球会掉下来,直接双击点击即可。 1、自动生成一个文件目录,扫描整根磁盘的文件目录 新建一个TXT文件格式 输入 dir /s /n >目录.txt 保存格式为 .bat 之后点击运行,就会自动整理文件当.....
  • 这次要分享一个非常具有动画色彩的CSS3按钮,按钮的外观比较一般,但它有两个特别的地方:一、按钮悬浮,整个按钮看上去像是悬浮在半空中一样,很立体;二、点击按钮时利用HTML5 Canvas绘制彩球飞舞的效果,非常...
  • BalloonPerformer 分享

    2015-09-23 12:23:18
    这个开源项目是从之前做的一个内存清理应用抽取出来的,下载地址:点我下载TT内存清理 这个库是什么? 这是一个桌面悬浮窗工具,拉手下拉会出现气球动画。 用来做什么? 演示应用是一个小工具,用于清理内存,...
  • 新增悬浮球功能,可以运行在QQ后台发图了! 补充图片收藏,补充图片下载至SD卡,sqlite同步保存路径 新增GIF动图添加文字功能(使用Glide分割GIF图片的每一帧,暂不支持背景透明的GIF,会黑边--!) V1.4.8:2019年3...

空空如也

空空如也

1 2
收藏数 34
精华内容 13
关键字:

悬浮球下载