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

PyQt5 QLineEdit触发登录跳转后QPushButton点击出现多余边框问题

问题原因

你看到的多余边框是Qt控件默认的焦点指示框:按钮被点击后会获得输入焦点,Qt默认会渲染这个虚线框作为焦点提示,你编写的样式表没有覆盖该默认规则,所以会异常显示。

解决方案

你可以任选以下任意一种方法修复:

方案1:样式表新增规则

在所有QPushButton的样式表QPushButton {}块中新增outline: none;即可,以你首页的Options按钮为例,修改后的样式表如下:

button.setStyleSheet(
    "QPushButton { "
    "background-color: rgb(37, 41, 46);"
    "color: rgb(255, 255, 255);"
    "font: 11pt 'Times New Roman';"
    "border: 0px solid;"
    "outline: none;}" # 新增该行即可
    "QPushButton:hover { "
    "background-color: rgb(30, 33, 37);"
    "}"
    "QPushButton:pressed { "
    "background-color: rgb(18, 20, 23);"
    "}"
)

如果登录页的按钮也有同类问题,给登录页两个按钮的样式表也加同样的规则即可。

方案2:修改按钮焦点策略

如果不需要按钮响应键盘焦点,直接设置按钮不接收焦点即可,在按钮创建完成后新增一行代码:

button.setFocusPolicy(QtCore.Qt.NoFocus)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 11:42:01