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
相关产品推荐
相关产品推荐

