2012-03-10 5 views
1

Qt 앱을 구축 중입니다. 이벤트 처리기에서 이벤트를 발생시킨 위젯에 액세스하려고합니다.Qt/C++ : 이벤트 처리기 (신호)에서 상위 위젯 식별

bool MainWindow::eventFilter(QObject *obj, QEvent *event) 
{ 
    MyWidget* widget= static_cast<MyWidget*>(obj); 
    ... 
} 

을하지만 신호 방법 내에서 어떻게 그렇게 할 수 있습니다

당신은 QObject를 매개 변수를 캐스팅하여 이벤트 필터 방식에서이 작업을 수행 할 수 있습니다?

void MainWindow::listView_Click(QModelIndex index) 
{ 
    QListView* view = // ???? 
} 

감사합니다

답변

4

시도 QObject::sender().

void MainWindow::listView_Click(QModelIndex index) 
{ 
    QListView* view = qobject_cast<QListView* >(sender()); 
} 
+0

감사합니다. 매우 빠른 응답과 정확하게 필요한 것. – Alex

4

당신이 슬롯 내부에있을 때 신호를 보낸 객체가 sender QObject를 메소드로 볼 수 있습니다 : 예를 들어, 목록보기는 신호를 온 클릭.

+0

정말 고마워요! – Alex