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

