3500/MyTreeView.cpp

73 lines
1.4 KiB
C++
Raw Normal View History

2024-04-24 14:41:13 +08:00
#include "MyTreeView.h"
#include <QMouseEvent>
#include <QDebug>
MyTreeView::MyTreeView(QWidget *parent)
: QTreeView(parent)
{
}
void MyTreeView::mousePressEvent(QMouseEvent *event)
{
qDebug()<<"mousePressEvent";
//实现点空白处取消选择
QPoint p = event->pos();
QModelIndex index = indexAt(p);
if(!index.isValid())
{
setCurrentIndex(QModelIndex());
return;
}
QModelIndex index2 = indexAt(event->pos());
int clickedColumn = index2.row();
qDebug() << "clickedColumn" << clickedColumn << endl;
//调用基类的点击处理,不然点击的原有响应也失效了
//但如果就想禁用tree控件单击不调用即可
QTreeView::mousePressEvent(event);
}
void MyTreeView::mouseReleaseEvent(QMouseEvent *event)
{
qDebug()<<"mouseReleaseEvent";
QTreeView::mouseReleaseEvent(event);
}
void MyTreeView::mouseDoubleClickEvent(QMouseEvent *event)
{
qDebug()<<"mouseDoubleClickEvent";
QTreeView::mouseDoubleClickEvent(event);
}
void MyTreeView::mouseMoveEvent(QMouseEvent *event)
{
qDebug()<<"mouseMoveEvent";
QTreeView::mouseMoveEvent(event);
}
void MyTreeView::keyPressEvent(QKeyEvent *event)
{
qDebug()<<"keyPressEvent";
QTreeView::keyPressEvent(event);
}
void MyTreeView::dragEnterEvent(QDragEnterEvent *event)
{
qDebug()<<"dragEnterEvent";
}
void MyTreeView::dropEvent(QDropEvent *event)
{
qDebug()<<"dropEvent";
}