2012-03-10 26 views
1

私はQtアプリケーションを構築しています。イベントハンドラでは、イベントを発生させたウィジェットにアクセスしたいと思います。Qt/C++:イベントハンドラ(シグナル)の親ウィジェットを特定する

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

をしかし、私は、信号のメソッド内でどのようにそれを行うことができます。

あなたはQObjectのパラメータをキャストしてイベントフィルタ方法でこれを行うことができますか?たとえば、リストビューのonclick信号:

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

あなたがスロットの中にいるときに信号を送ったオブジェクトがsender QObjectの方法で提供されていますあなた

答えて

4

Try QObject::sender()

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

ありがとうございます。非常に速い応答、そして私が必要とするもの。 – Alex

4

ありがとうございます。

+0

ありがとうございました! – Alex

関連する問題