标题:QTreeView怎么响应键盘事假
作者:gaoshiqing
日期:2017-12-15 08:53
内容:
一开始用重载keyPressEvent的方法,发现根本不能进入该函数,网上有说QTreeView可能根本就不响应这个事件,所以就用了事件过滤器,事件过滤器能进入,但是再判断时不能判断是键盘事件,请问哪里有问题或者告诉我怎么才能让它响应键盘事件,代码如下:bool TreeModelInfo::eventFilter(QObject *watched, QEvent *event)
{
if(watched == this)
{
if (event->type() == QEvent::KeyPress)
{
QKeyEvent *e = static_cast(event);
if (e->key() == Qt::Key_Delete)
{
QModelIndex currentIndex = this->currentIndex();
QStandardItem* item = model->itemFromIndex(currentIndex);
QString strGUID = item->data(Qt::UserRole).toString();
QUuid uid = QUuid(strGUID);
if(!uid.isNull())
{
RemoveVideo(uid);
return true;
}
}
..
#1 [笑颜 12-15 09:13]
你重写viewportEvent(QEvent *) ,或许会有惊喜