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

Qt中如何去除QListWidget的未知右下边框?

解决QListWidget在Tab页中右侧/底部无法消除的边框问题

我之前也碰到过一模一样的情况!这种只在右侧和底部冒出来的“顽固边框”,通常不是QListWidget本身的样式问题,而是它的内部子控件或者父容器(QTabWidget)的默认样式在搞鬼。给你几个针对性的解决思路:

1. 给QListWidget的viewport设置无边框

QListWidget的实际内容显示区域是它的viewport子控件,很多时候你看到的边框其实是这个viewport的默认样式。直接在QSS里加上:

QListWidget::viewport {
    border: none;
}

2. 清除QTabWidget容器的默认边框和内边距

因为你的QListWidget放在Tab标签页里,QTabWidget的pane(承载页面的容器)默认带有边框和padding,可能刚好在右侧和底部露出一点点,看起来像是QListWidget的边框。补上这段QSS:

QTabWidget::pane {
    border: none;
    padding: 0px;
}

3. 修正样式冲突

看你提供的QSS里,QMainWindow设置了白色背景,而QWidget是深色背景,这种背景差异也可能被误认为是边框。建议把QMainWindow的背景改成和全局一致:

QMainWindow{ 
    border:0px; 
    background-color:#282828; /* 统一背景色 */
    margin: 0px; 
}

完整修改后的QSS示例

QWidget{ 
    background-color:#282828; 
    margin: 0px; 
    padding: 0px; 
    border: 0px; 
} 
QMainWindow{ 
    border:0px; 
    background-color:#282828; 
    margin: 0px; 
} 
QListWidget{ 
    font: 25pt "Simplifica"; 
    font-size: 30px; 
    font-style: normal;
    border: none;
}
QListWidget::viewport {
    border: none;
}
QTabWidget::pane {
    border: none;
    padding: 0;
}

你可以先试第一点,大部分情况下viewport的边框就是罪魁祸首,如果还不行再加上QTabWidget的样式调整,应该就能彻底解决啦!

内容的提问来源于stack exchange,提问作者Curtis CJ Lewis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:31:30