当鼠标离开QListView
(tableView
)的空格时,我正试图调用某个函数(或插槽)。通常,您可以使用leaveEvent()
函数。例如,我可以写
void MainWindow::leaveEvent(QEvent * event){
qApp->quit();
}
这是按预期工作的。当鼠标离开MainWindow
小部件时,应用程序退出。但是,如果我想在鼠标离开我的QListView
窗口小部件的MainWindow
对象时退出应用程序该怎么办?
在Qt Creator的表单设计器中创建函数时,如何重新实现此QListView
的函数?
以下是我所尝试的(未成功):
void Ui::tableView::leaveEvent(){
qApp->quit();
}
下面,我尝试使用leaveEvent()
作为信号,并且leaveEvent
未定义(您甚至可以将事件用作SIGNAL
s吗?)
connect(ui->tableView, SIGNAL(leaveEvent(QEvent *event)), this, SLOT(testSlot()));
基本上,当鼠标离开我使用Qt Creator的表单设计器创建的tableView
时,我试图调用某个函数。 QListView
课程似乎有mouseEntered()
SIGNAL
,但不是mouseLeave()
SIGNAL
。
答案 0 :(得分:2)
子类QListView并重新实现leaveEvent(示例):
class MyListView : public QListView
{
Q_OBJECT
void MyListView::leaveEvent(QEvent *e){
QListView::leaveEvent(e);
anyOtherAction();
}
}