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";
|
||
}
|