본문 바로가기
프로그래밍/python

pyside6 Event Filter

by 코끼리_땃쥐 2023. 12. 13.
반응형

라벨 같은 위젯은 Click 시그널이 없기때문에 이벤트 필터를 정의해서 사용할수 있다.

(응용하면 여러가지 가능)

def Click(widget):
    class Filter(QObject):
        Clicked= Signal()

        def eventFilter(self, watched: QObject, event: QEvent) -> bool:
            if watched == widget and event.type() == QEvent.MouseButtonPress:
                self.Click.emit()
                return True
       
            return False
    filter = Filter(widget)
    widget.installEventFilter(filter)
    return filter.Click

 

 

Click(self.lable).connect(self.label_click)

 

사용하면된다.

반응형

댓글