当前位置: 首页 > news >正文

长沙网站制作/2022年app拉新推广项目

长沙网站制作,2022年app拉新推广项目,网页图片动态效果,wordpress 锚文本插件一、前言现在这个时代,智能手机不要太流行,满大街都是,甚至连爷爷奶奶级别的人都会用智能手机,本次要写的控件就是智能手机中的电池电量表示控件,采用纯painter绘制,其实也可以采用贴图,我估计大…

一、前言

现在这个时代,智能手机不要太流行,满大街都是,甚至连爷爷奶奶级别的人都会用智能手机,本次要写的控件就是智能手机中的电池电量表示控件,采用纯painter绘制,其实也可以采用贴图,我估计大部分手机上的都是采用贴图的形式,贴图有个好处就是程序员不用操心,drawimage即可,速度非常快。

至于本控件没有任何技术难点,就是自动计算当前设置的电量,根据宽度的比例划分100个等分,每个等分占用多少个像素,然后电量*该比例就是要绘制的电量的区域,可以设置报警电量,低于该变量整个电池电量区域红色显示。

主要功能:

可设置开关按钮的样式 圆角矩形/内圆形/外圆形

可设置选中和未选中时的背景颜色

可设置选中和未选中时的滑块颜色

可设置显示的文本

可设置滑块离背景的间隔

可设置圆角角度

可设置是否显示动画过渡效果

二、代码思路

void Battery::paintEvent(QPaintEvent *)

{

//绘制准备工作,启用反锯齿

QPainter painter(this);

painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);

//绘制边框

drawBorder(&painter);

//绘制背景

drawBg(&painter);

//绘制头部

drawHead(&painter);

}

void Battery::drawBorder(QPainter *painter)

{

painter->save();

double headWidth = width() / 10;

double batteryWidth = width() - headWidth;

//绘制电池边框

QPointF topLeft(5, 5);

QPointF bottomRight(batteryWidth, height() - 5);

batteryRect = QRectF(topLeft, bottomRight);

painter->setPen(QPen(borderColorStart, 5));

painter->setBrush(Qt::NoBrush);

painter->drawRoundedRect(batteryRect, borderRadius, borderRadius);

painter->restore();

}

void Battery::drawBg(QPainter *painter)

{

painter->save();

QLinearGradient batteryGradient(QPointF(0, 0), QPointF(0, height()));

if (currentValue <= alarmValue) {

batteryGradient.setColorAt(0.0, alarmColorStart);

batteryGradient.setColorAt(1.0, alarmColorEnd);

} else {

batteryGradient.setColorAt(0.0, normalColorStart);

batteryGradient.setColorAt(1.0, normalColorEnd);

}

int margin = qMin(width(), height()) / 20;

double unit = (batteryRect.width() - (margin * 2)) / 100;

double width = currentValue * unit;

QPointF topLeft(batteryRect.topLeft().x() + margin, batteryRect.topLeft().y() + margin);

QPointF bottomRight(width + margin + 5, batteryRect.bottomRight().y() - margin);

QRectF rect(topLeft, bottomRight);

painter->setPen(Qt::NoPen);

painter->setBrush(batteryGradient);

painter->drawRoundedRect(rect, bgRadius, bgRadius);

painter->restore();

}

void Battery::drawHead(QPainter *painter)

{

painter->save();

QPointF headRectTopLeft(batteryRect.topRight().x(), height() / 3);

QPointF headRectBottomRight(width(), height() - height() / 3);

QRectF headRect(headRectTopLeft, headRectBottomRight);

QLinearGradient headRectGradient(headRect.topLeft(), headRect.bottomLeft());

headRectGradient.setColorAt(0.0, borderColorStart);

headRectGradient.setColorAt(1.0, borderColorEnd);

painter->setPen(Qt::NoPen);

painter->setBrush(headRectGradient);

painter->drawRoundedRect(headRect, headRadius, headRadius);

painter->restore();

}

三、效果图

3db2234fcb97

在这里插入图片描述

四、开源主页

以上作品完整源码下载都在开源主页,会持续不断更新作品数量和质量,欢迎各位关注。

http://www.jmfq.cn/news/4929643.html

相关文章:

  • cms搭建网站/青岛百度网站排名优化
  • 郑州商城网站制作/网络广告营销典型案例
  • 做外贸家纺资料网站/外包公司排名
  • 宁波住房和城乡建设局网站/广州网络推广选择
  • 比较大网站建设公司/百度竞价关键词优化
  • 郑州公司网站制作/橘子seo历史查询
  • 计算机网络课程设计/百度灰色词优化排名
  • 用dwcs6做网站实例得奖/搜索引擎优化的基本原理
  • wordpress b站视频教程/百度官方网站登录
  • 网站建设标签/免费b2b网站推广渠道
  • wordpress菜单跳转到目录/百度seo自然优化
  • 上海比较好的网站建设公司/广告推广免费发布
  • 如何知道网站什么时候做的/武汉seo搜索引擎优化
  • 乌克兰网站建设/廊坊seo排名扣费
  • 效果图官网/东莞seo技术培训
  • 竞价单页网站制作教程/公司官网模板
  • 网站开发融资/河南推广网站
  • xml做网站/百度推广代理加盟
  • 做设计常逛的网站/seo全网营销公司
  • 九江集团网站建设/商业网站设计
  • 建设部网站注册中心/网站推广seo招聘
  • 网站做app的好处/济南网站优化排名
  • 可以做免费推广的网站吗/西安百度快照优化
  • 贵阳中企动力做的网站/网站设计公司建设网站
  • 果洛电子商务网站建设哪家快/做互联网项目怎么推广
  • 主流网站建设技术/苏州百度推广公司
  • 360免费网站建设/什么是seo搜索
  • 常州市天宁区建设局网站/搜索引擎排名原理
  • 广州网站优化流程/中国的搜索引擎有哪些
  • 新动力网站建设/公司网页怎么做