
QT边框阴影
发布日期:2021-05-20 02:03:15
浏览次数:25
分类:精选文章
本文共 1196 字,大约阅读时间需要 3 分钟。
一、通过重载paintEvent函数实现阴影边框
在Qt应用开发中,当需要为窗口或控件添加自定义边框效果时,重载paintEvent函数是一个常见且有效的方法。这种方式允许开发者在绘制时添加细节控制,尤其是在需要动态调整阴影效果时非常有用。
void WebView::paintEvent(QPaintEvent *event) { QPainterPath path; path.setFillRule(Qt::WindingFill); path.addRect(10, 10, this->width() - 20, this->height() - 20); QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); painter.fillPath(path, QBrush(Qt::white)); QColor color(0, 0, 0, 50); for (int i = 0; i < 10; i++) { QPainterPath path; path.setFillRule(Qt::WindingFill); path.addRect(10 - i, 10 - i, this->width() - (10 - i) * 2, this->height() - (10 - i) * 2); color.setAlpha(150 - qSqrt(i) * 50); painter.setPen(color); painter.drawPath(path); }}
二、通过图片实现阴影边框
在Qt中,除了编写自定义绘制逻辑外,还可以利用图形库预先生成的图片来实现复杂的界面效果。这种方法在某些场景下能够显著提高性能表现。
QGraphicsDropShadowEffect *shadow_effect = new QGraphicsDropShadowEffect(this);shadow_effect->setOffset(-5, 5);shadow_effect->setColor(Qt::gray);shadow_effect->setBlurRadius(8);network_group_box->setGraphicsEffect(shadow_effect);
三、子控件添加阴影效果
当需要在现有控件上添加阴影效果时,可以通过为子控件添加图形效果来实现。这是一种简洁且高效的实现方式。
通过以上三种方法,可以根据项目需求选择最合适的实现方式来为界面元素添加阴影效果。
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月14日 18时07分11秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
(网络安全)主动信息收集 操作系统识别
2019-03-17
奥比中光体积最小的3D刷脸模组发布,智能锁设计要迎来颠覆?
2019-03-17
Class和ClassLoader的getResource方法对比
2019-03-17
redis教程-redis环境搭建安装(qq:1197852132)
2019-03-17
将jsp页面转化为图片或pdf升级版(二)(qq:1197852132)
2019-03-17
Day5 - 05 函数的参数-关键字参数
2019-03-17
github 入门
2019-03-17
cpp
2019-03-17
可编辑列表(json文件,可编辑,添加等)
2019-03-21
学生信息管理系统之增(五):添加用户信息流程
2019-03-21
社区医疗app-Ui设计
2019-03-21
Python图像处理之PIL
2019-03-21
HTML 表单验证
2019-03-21
mysql时间为0000-00-00 00:00:00时,程序读取错误
2019-03-21
ubuntu System program problem detected
2019-03-21
使用ivx图表组件的经验总结
2019-03-21
17场演讲,500+嘉宾 |「观远2020智能决策峰会暨产品发布会」看点先知道
2019-03-21
专访汇付数据副总裁姜靖宇:“纸上谈兵”时代终结,人工智能将变革第三方支付行业
2019-03-21
张小龙的“败走麦城”
2019-03-21