使用MouseDoubleClick事件实现QListView

时间:2015-11-26 16:48:55

标签: qt qlistview

我打算实现一个QListView,当我在每个委托上双击我的鼠标按钮时,它将显示一个帧。凭借我非常基本的编程技巧,我无法做到。以下是我的代码:

void MainWindow::eventFilter(QObject *obj, QEvent *event)
{

if (obj == ui->listView->viewport() && event->type() == QEvent::MouseButtonDblClick)
{
    int row = getListViewRow();
    qDebug() << "Double Clicked on Row: " << row << endl;
    mFrame->setGeometry(700,500,150,150);
    mFrame->show();  }}

在我的构造函数中,我也添加了以下行:

qApp->installEventFilter(this);

所以请纠正我以实现目标。感谢。

1 个答案:

答案 0 :(得分:0)

解决方案非常简单:如果安装了事件过滤器,则需要将其安装在要过滤事件的对象上:

ui->listView->viewport()->installEventFilter(this);