为何调用QComboBox的setFocus方法无响应?
解决QComboBox调用setFocus无高亮响应的问题
你可以通过以下方式解决这个问题:
指定焦点原因调用setFocus
Qt默认的setFocus()使用Qt.NoFocusReason,部分样式下不会触发控件的焦点高亮效果。明确指定一个焦点原因,就能让控件正确显示焦点状态:
修改你的timeout方法:
def timeout(self): print("timeout") self.box.setFocus(Qt.OtherFocusReason)
补充说明
你设置的WheelFocus焦点策略是有效的,它允许通过鼠标滚轮、键盘等方式获取焦点,无需修改。核心问题在于焦点原因的指定,明确的原因会触发控件的焦点样式渲染。如果窗口处于未激活状态,可先调用self.activateWindow()再设置焦点,确保效果生效。
内容的提问来源于stack exchange,提问作者Poison
相关产品推荐
相关产品推荐

