2012-03-10 67 views
1

我正在構建一個Qt應用程序。在事件處理程序中,我想訪問激發事件的小部件。Qt/C++:標識事件處理程序中的父窗口小部件(信號)

您可以通過鑄造QObject的參數在事件過濾方法做到這一點:

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

但我怎麼能做到這一點的信號方法裏面?例如,一個ListView的onclick信號:

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 2012-03-10 16:25:03

4

發送信號的目的是提供與sender QObject的方法,當你是一個槽內。

+0

非常感謝! – Alex 2012-03-10 16:22:11

相關問題