我的应用程序以空表开始,我想要使用不同的方法来添加项目。一个应该是双击未被任何单元格占用的表的未使用区域(或“背景”)。双击单元格时,我想要默认行为。
我已经找到了通过在QAbstractScrollArea::mouseDoubleClickEvent()
课程中重新实施TestTable
方法来实现此目的的方法:
#include <QMouseEvent>
#include <QTableView>
class TestTable : public QTableView
{
Q_OBJECT
signals:
void backgroundDoubleClickEvent(void);
protected:
void mouseDoubleClickEvent (QMouseEvent* e)
{
if (indexAt(e->pos()).isValid())
{
QTableView::mouseDoubleClickEvent(e);
}
else
{
e->accept();
emit backgroundDoubleClickEvent();
}
}
};
QTableView
,有更优雅的方法吗?