PYQT5(二十三)FOCUS焦点事件
2019-01-04 本文已影响1026人
弗兰克万岁
摘自https://blog.csdn.net/imxiangzi/article/details/50742813,稍作修改
如下效果,点击某个位置:

**介绍一下Qt的聚焦策略 **
enum Qt::FocusPolicy
This enum type defines the various policies a widget can have with respect to acquiring keyboard focus.

1、首先要设置窗口/控件的聚焦策略
通过designer设置

或者代码设置,这里最好重写一下目标控件,主要是他的focusInEvent 和focusOutEvent()
self.setFocusPolicy(QtCore.Qt.ClickFocus)
def focusInEvent(self, QFocusEvent):
print('focus in')
pix = QPixmap('icon/action2.png')
self.setPixmap(pix)
def focusOutEvent(self, QFocusEvent):
pix = QPixmap('icon/123.png')
self.setPixmap(pix)