#include "widget.h" #include #include #include Widget::Widget(QWidget *parent) : QWidget(parent) { list_view_ = new QListView(); list_view_->installEventFilter(this); file_model_ = new QFileSystemModel(this); file_model_->installEventFilter(this); file_model_->setRootPath(QDir::currentPath()); list_view_->setModel(file_model_); main_layout_ = new QVBoxLayout(); main_layout_->addWidget(list_view_); setLayout(main_layout_); } Widget::~Widget() { } bool Widget::eventFilter(QObject *watched, QEvent *event) { if(watched == list_view_) { qDebug()<<"event in list view "<type(); } else if(watched == file_model_) { qDebug()<<"event in file model"<type(); } else { qDebug()<<"event (other)"<type(); } return QWidget::eventFilter(watched,event); }