Qt C ++: щелкните и дважды щелкните QTableView - PullRequest
0 голосов
/ 28 сентября 2018

Как получить событие клика И двойного щелчка, работающее с QTableVew?

Я попробовал следующее (в конструкторе MyTableView, наследуемое от QTableView):

connect(this, &QTableView::clicked, evtReceiver, &MyEventReceiver::onClick);
connect(this, &QTableView::doubleClicked, evtReceiver, &MyEventReceiver::onDoubleClick);

Затем я получаю события кликано нет двойного щелчка.Если я удаляю connect для события click, то я могу получить двойной щелчок.Затем я попытался переопределить

void mouseDoubleClickEvent(QMouseEvent * event)

Проблема 1 : мне нужно удалить connect(this, &QTableView::clicked,...), чтобы вызвать mouseDoubleClickEvent, но затем больше нет события щелчка.

Задача 2 : как узнать, какая ячейка была дважды нажата?

Задача 3 : Если я все еще хочу событие щелчка, я могу переопределить mousePressEvent(QMouseEvent* evt) Подумал я ... Но опять же, mouseDoubleClickEvent больше не вызывается.И не говоря о проблеме 2 ...

Обратите внимание, что это для Qt 5.8.Есть похожий вопрос здесь , однако, похоже, что это только решение Qt 4.8: в QtableView больше нет сигнала cellClicked в Qt 5! ...

...