首页| 论坛| 消息

回复: 自己写的一些小控件
#6 回 核心科技 的帖子 [wllw7176 09-08 09:01]
核心科技:非常好,跟刘总的效果差不多了。怎么压缩包文件损坏啊。 (2018-09-05 21:50) 
不会吧,重新下载下试试
#7 回 liudianwu 的帖子 [wllw7176 09-09 10:44]
liudianwu:嗯,确实不错,看了下代码,能够参照并应用到这种程度,牛逼!就是觉得算法部分稍微写得复杂了点,个人感觉而已。我大概知道你是谁了!  (2018-09-04 23:23) 
刘大师,你的控件里有些反光效果,是代码实现还是贴图实现。如果是代码实现的话能否提供点思路。
#8 回 wllw7176 的帖子 [liudianwu 09-09 14:21]
wllw7176:
刘大师,你的控件里有些反光效果,是代码实现还是贴图实现。如果是代码实现的话能否提供点思路。
你说的是汽车仪表盘左上角部分的发光?加了个滑盖。

int radius = 90;
painter->save();
painter->setPen(Qt::NoPen);
QPainterPath smallCircle;
QPainterPath bigCircle;
radius -= 1;
smallCircle.addEllipse(-radius, -radius, radius * 2, radius * 2);
radius *= 2;
bigCircle.addEllipse(-radius, -radius + 140, radius * 2, radius * 2);
//高光的形状为小圆扣掉大圆的部分
QPainterPath highlight = smallCircle - bigCircle;
QLinearGradient linearGradient(0, -radius / 2, 0, 0);
overlayColor.setAlpha(100);
linearGradient.setColorAt(0.0, overlayColor);
overlayColor.setAlpha(30);
linearGradient.setColorAt(1.0, overlayColor);
painter->setBrush(linearGradient);
painter->rotate(-20);
painter->drawPath(highlight);
painter->restore();
#9 回 liudianwu 的帖子 [wllw7176 09-09 14:58]
liudianwu:你说的是汽车仪表盘左上角部分的发光?加了个滑盖。

int radius = 90;
    painter->save();
....... (2018-09-09 14:21) 
就是这个,谢谢赐教!!!

<< 1 2 >> (2/2)

回复 发表
主题 版块