You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt中QMainWindow及centralwidget设置边框后出现白框的原因咨询

Qt中CentralWidget圆角边框角落白框问题解决

这个白框是CentralWidget的父部件(通常是QMainWindow的内部容器)背景透出导致的。当你给CentralWidget设置带圆角的边框后,圆角切割出的区域会露出父部件的白色背景,再加上默认情况下QMainWindow或其内部容器的背景为白色,且CentralWidget与父部件间存在默认间距,最终形成了角落的白框。

解决方法:

  • 统一父部件与CentralWidget的背景色
    在QSS中添加对QMainWindow的样式设置,让它的背景色和CentralWidget保持一致(根据你的界面需求设置对应颜色):

    QMainWindow {
        background-color: #ffffff; /* 替换为你CentralWidget的实际背景色 */
    }
    #centralwidget{ 
        border-style:solid; 
        border-color: #3e3e3e; 
        border-width: 2px; 
        border-radius: 20px;
        background-color: #ffffff; /* 确保CentralWidget背景填充完整 */
    }
    
  • 消除部件间的间距
    清除父部件的默认内边距和CentralWidget的外边距,避免间距透出背景:

    QMainWindow > QWidget {
        padding: 0; /* 清除主窗口内部容器的默认内边距 */
    }
    #centralwidget {
        margin: 0; /* 清除CentralWidget的外边距 */
    }
    
  • 确保背景覆盖边框区域
    给CentralWidget添加background-clip属性,让背景覆盖到边框的圆角区域:

    #centralwidget{ 
        border-style:solid; 
        border-color: #3e3e3e; 
        border-width: 2px; 
        border-radius: 20px;
        background-clip: border-box;
    }
    

内容的提问来源于stack exchange,提问作者Nayouta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:16:45