2013-07-16 2 views
0

마우스가 내 QListView (tableView)의 공간을 떠날 때 일부 기능 (또는 슬롯)을 호출하려고합니다. 일반적으로 leaveEvent() 기능을 사용할 수 있습니다. 그래서 예를 들면 쓸 수 있습니다.QtCreator 폼에서 생성 된 listView와 함께 leaveEvent를 사용하는 방법은 무엇입니까?

void MainWindow::leaveEvent(QEvent * event){ 
    qApp->quit(); 
} 

이것은 의도 한대로 작동합니다. 마우스가 MainWindow 위젯을 벗어나면 응용 프로그램이 종료됩니다. 그러나 내 위젯에 마우스가 내 QListView 개체를 떠날 때 응용 프로그램을 종료하려면 어떻게해야합니까?

QListView Qt Creator의 폼 디자이너에서이 함수를 어떻게 다시 구현합니까? (당신도 SIGNAL의 같은 이벤트를 사용할 수 있습니까?)

void Ui::tableView::leaveEvent(){ 
    qApp->quit(); 
} 

을 그리고 아래에, 나는 신호로 leaveEvent()를 사용하여 시도, 그것은 leaveEvent이 정의되지 말한다 : 여기에

내가 가진 것입니다 (실패) 시도

connect(ui->tableView, SIGNAL(leaveEvent(QEvent *event)), this, SLOT(testSlot())); 

기본적으로, 마우스 Qt는 창조주의 폼 디자이너로 생성 된 내 tableView을 떠날 때 어떤 함수를 호출하는 것을 시도하고있다. QListView 클래스는 mouseEntered()SIGNAL 인 것으로 보이지만, mouseLeave()SIGNAL이 아닙니다.

답변

2

서브 클래스 QListView 및 leaveEvent (실시 예)를 구현할 :

class MyListView : public QListView 
{ 
    Q_OBJECT 

    void MyListView::leaveEvent(QEvent *e){ 
     QListView::leaveEvent(e); 
     anyOtherAction(); 
    } 
}