我打算实现一个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);
所以请纠正我以实现目标。感谢。
答案 0 :(得分:0)
解决方案非常简单:如果安装了事件过滤器,则需要将其安装在要过滤事件的对象上:
ui->listView->viewport()->installEventFilter(this);