QT设置窗口边框圆角及样式失效
1. 直接设置样式 setStyleSheet("border:5px solid red;border-radius:10px")
2. this->setAttribute(Qt::WA_TranslucentBackground);//设置窗口背景透明
this->setWindowFlags(Qt::FramelessWindowHint); //设置无边框窗口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | void SystemWarnDialog::paintEvent(QPaintEvent *event) { QPainter painter( this ); painter.setRenderHint(QPainter::Antialiasing); // 反锯齿; painter.setBrush(QBrush(Qt::gray)); painter.setPen(Qt::transparent); QRect rect = this ->rect(); rect.setWidth(rect.width() - 1); rect.setHeight(rect.height() - 1); painter.drawRoundedRect(rect, 15, 15); //也可用QPainterPath 绘制代替 // painter.drawRoundedRect(rect, 15, 15); // { // QPainterPath painterPath; // painterPath.addRoundedRect(rect, 15, 15); // p.drawPath(painterPath); // } QWidget::paintEvent(event); } |
3. 主窗体加载不了样式时需要在paintEvent事件中加上如下代码:
1 2 3 4 5 6 7 | { QStyleOption opt; opt.init( this ); QPainter p( this ); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this ); QWidget::paintEvent(event); } |
走的太远不要忘记为什么出发,你的态度决定你的高度。
分类:
QT
标签:
border-radius
, qt设置边框圆角
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理