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

