구리의 창고

QT Programming - 이벤트 필터 설치 (이벤트 핸들러 가져오기) 본문

QT

QT Programming - 이벤트 필터 설치 (이벤트 핸들러 가져오기)

구리z 2011. 7. 15. 11:09
QT프로그래밍을 하다보면 keyPressed 같은 이벤트를 자주 쓰게된다.

이럴 때 마다  기존 위젯을 상속받아 새로운 커스톰위젯을 만들어야하는 상황이 발생한다.

이거 매우매우매우매우 귀찮다.. 파일도 두 개씩 만들어지고!!!


찾아보니 이벤트 필터라는 것이 있다.

MyWidget 에 lineEdit 과 nameEdit 이 있다고 가정했을 때

MyWidget::MyWidget(QWidget* parent)
{
lineEdit->installEventFilter(this);
nameEdit->installEventFilter(this); 
} 


bool MyWidget::eventFilter(QObject* target, QEvent* event)
{
if (target == lineEdit)
{
//TO DO
}
if (target == nameEdit)
{ 
//TO DO
}
}
Comments