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

QPushButton绑定QMenu后选菜单关闭仍保持按压样式问题

QPushButton绑定QMenu后保持按压状态的解决方法

问题现象

为QPushButton绑定QMenu组件后,选择菜单选项并关闭菜单,按钮始终呈现按压状态,无法恢复默认样式。

解决方案

方案一:监听菜单隐藏事件重置按钮状态

利用QMenu的aboutToHide信号,在菜单即将隐藏时手动重置按钮的按压状态:

在示例代码中,绑定菜单后添加以下代码:

# 监听菜单隐藏信号,重置按钮按压状态
self.menu.aboutToHide.connect(lambda: self.button.setDown(False))

方案二:补全按钮样式表定义

若仅设置了pressed状态的样式,可能导致状态切换时无默认样式可回退。为按钮添加默认状态的样式:

修改按钮样式表代码:

self.button.setStyleSheet("""
    QPushButton {
        background-color: #ffffff;
        border: 1px solid #cccccc;
    }
    QPushButton:pressed{
        background-color: #b5b5b5;
        border: 1px solid black;
    }
""")

Bug反馈方式

若上述方案均无效,可认定为Qt/PySide6的潜在Bug,反馈途径如下:

  • 前往Qt官方Bug报告平台提交问题,需提供完整环境信息、可重现代码及问题截图。
  • 到PySide6的GitHub官方仓库提交Issue,清晰描述问题场景与重现步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 11:46:17