PYQT5(二十三)FOCUS焦点事件

摘自https://blog.csdn.net/imxiangzi/article/details/50742813,稍作修改

如下效果,点击某个位置:

PYQT5(二十三)FOCUS焦点事件_第1张图片
focus.gif

**介绍一下Qt的聚焦策略 **

enum Qt::FocusPolicy
This enum type defines the various policies a widget can have with respect to acquiring keyboard focus.


PYQT5(二十三)FOCUS焦点事件_第2张图片
图片.png

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

通过designer设置

PYQT5(二十三)FOCUS焦点事件_第3张图片
Qt::FocusPolicy的使用 - 柳北风儿 - 柳北风儿~~~~~~~欲宇仙炅

或者代码设置,这里最好重写一下目标控件,主要是他的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)

你可能感兴趣的:(PYQT5(二十三)FOCUS焦点事件)