概述
一.前言
设置无边框窗口之后,就会显示直角的风格,有用户反馈说,看着太锐了,让我给换成圆角,看着舒服一点,楼主一开始想用Qss实现,发现实在不行,后边想着,估计只能用绘图事件来操作了
二.实现过程
1.实现窗口无边框效果
setWindowFlag(Qt::FramelessWindowHint);
setAttribute(Qt::WA_TranslucentBackground);
2.重写paintEvent(方式1与方式2的效果是一样的)
void ImageListWidget::paintEvent(QPaintEvent *e)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing); // 设置抗锯齿,不然边框会有明显锯齿
painter.setBrush(Qt::white); // 设置窗体颜色
QRect rect = this->rect();
// 绘制方式1
painter.drawRoundedRect(rect,10,10);
// 绘制方式2
// QPainterPath painterPath;
// painterPath.addRoundedRect(rect, 10, 10);
// painter.drawPath(painterPath);
}
最后
以上就是神勇香水为你收集整理的Qt笔记(六十)之Qt实现无边框圆角窗口的全部内容,希望文章能够帮你解决Qt笔记(六十)之Qt实现无边框圆角窗口所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复