QT
QT Programming - 이벤트 필터 설치 (이벤트 핸들러 가져오기)
구리z
2011. 7. 15. 11:09
QT프로그래밍을 하다보면 keyPressed 같은 이벤트를 자주 쓰게된다.
이럴 때 마다 기존 위젯을 상속받아 새로운 커스톰위젯을 만들어야하는 상황이 발생한다.
이거 매우매우매우매우 귀찮다.. 파일도 두 개씩 만들어지고!!!
찾아보니 이벤트 필터라는 것이 있다.
MyWidget 에 lineEdit 과 nameEdit 이 있다고 가정했을 때
이럴 때 마다 기존 위젯을 상속받아 새로운 커스톰위젯을 만들어야하는 상황이 발생한다.
이거 매우매우매우매우 귀찮다.. 파일도 두 개씩 만들어지고!!!
찾아보니 이벤트 필터라는 것이 있다.
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
}
}