问题描述:想通过鼠标的单击查看文件,双击支持修改。QTableView中没有区分点击一下,两下
解决方式:重写QTableView类
流程:新建一个TableView类文件,复制一下代码即可
TableView.h文件
class TableView : public QTableView
{
Q_OBJECT
public:
explicit TableView(QWidget *parent = 0);
protected:
void mousePressEvent(QMouseEvent *event);
void mouseDoubleClickEvent(QMouseEvent *event);
signals:
void leftClicked(const QModelIndex &index);
void leftdoubleClicked();
};
TableView.cpp文件
TableView::TableView(QWidget *parent):QTableView(parent)
{
}
void TableView::mousePressEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
setCurrentIndex(QModelIndex());
QTableView::mousePressEvent(event);
QModelIndex index=currentIndex();
if(index.row()<0&&index.column()<0)
return;
emit leftClicked(index);
// qDebug()<<"左击一下";
}
}
void TableView::mouseDoubleClickEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
// qDebug()<<"左击两下";
emit leftdoubleClicked();
}
}
最后,提升窗口部件即可。
欢迎各位留言交流