如何将 leaveEvent 与从 QtCreator 表单创建的列表视图一起使用



当鼠标离开我的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();
    }
}

相关内容

  • 没有找到相关文章

最新更新