Определяю сигнал
signals:
void deletetriggered(QAction* a, const QModelIndex & index);
соединяю его с слотом
connect(this, SIGNAL(deletetriggered(QAction*, const QModelIndex &)),
this, SLOT(test(QAction*, const QModelIndex &)));
..................
void MyListView::test(QAction* a, const QModelIndex & b)
{
qDebug()<<a->text();
qDebug()<<b;
}
так переопределяю нажатие кнопки мыши
void MyListView::mousePressEvent(QMouseEvent* event)
{
QModelIndex index = indexAt(event->pos());
if (index.isValid())
{
if (event->button() == Qt::RightButton)
{
QAction* b = m_pmnu->exec(event->globalPos());
emit deletetriggered(b, index);
}
else
QListView::mousePressEvent(event);
}
}
при клике правой кнопкой мыши на элементе списка (таблица БД) всплывает меню. Далее, при клике на пункте меню тестовый слот отрабатывает как надо, но если кликаю вне контекстного меню - прога вылетает по неизвестной ошибке (точнее, мне не известной ошибке... код 255). Подскажите, что не так делаю. Заранее спасибо.