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