73 lines
1.4 KiB
C++
73 lines
1.4 KiB
C++
|
|
#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";
|
|||
|
|
}
|