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

PySide2移除QPushButton触摸触发的额外边框问题求助

解决PySide2 QPushButton触摸时出现黄色边框的问题

这个黄色边框是按钮获取焦点后的默认焦点指示器,和你设置的border-radius无关。只需在QSS中添加:focus状态的样式覆盖即可移除:

修改后的完整QSS代码:

QPushButton{
    background-color:transparent;
    border: 3px solid black;
    border-radius: 30px;
    font: bold italic;
    font-size: 20pt;
}
QPushButton#btn_checkout{
    text-align: right;
}

QPushButton:checked,
QPushButton:pressed {
    border-color: blue; /* 修正原写法错误:border-color仅需指定颜色,无需宽度 */
    background-color: #d0d67c;
    color: #0000FF;
}

QPushButton:hover {
    border: 2px solid blue;
}

QPushButton:disabled{
    color: gray;
}

/* 新增:移除焦点状态的黄色边框 */
QPushButton:focus {
    outline: none; /* 清除默认焦点轮廓 */
    border: 3px solid black; /* 保持与默认状态一致的边框,避免焦点切换时样式跳动 */
}

如果outline: none;不生效,可尝试替换为border: 3px solid black;(完全复用默认状态边框),或者添加background-clip: padding-box;确保边框渲染范围正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:00:36