Мое приложение начинается с пустой таблицы, и я хочу использовать разные методы для добавления элементов. Это нужно сделать, дважды щелкнув неиспользуемую область таблицы (или «фон»), которая не занята никакими ячейками. Если дважды щелкнуть ячейку, я хочу поведение по умолчанию.
Я нашел способ сделать это путем повторной реализации 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
?Если вы не хотите подкласс QTableView
, пытаться installEventFilter