2016-12-22 8 views
0

У меня есть QTableWidget, и мне нужно вызвать некоторые функции на основе щелчка пользователем по ячейке.Как правильно щелкнуть и дважды щелкнуть QtableWidget (Qt)?

настоящее время я использую следующие сигналы и слоты:

// cellClicked(int,int) 
void MyClass::on_myTableWidget_cellClicked(int row, int column) 
{ 
    qDebug() << "Click"; 
} 

// cellDoubleClicked(int,int) 
void MyClass::on_myTableWidget_cellDoubleClicked(int row, int column) 
{ 
    qDebug() << "Double Click"; 
} 

Проблема заключается в том, что on_myTableWidget_cellClicked вызывается только тогда, когда я использую левую кнопку мыши. Если я использую правую кнопку мыши, это не сработает. И on_myTableWidget_cellDoubleClicked вызывается как левой, так и правой кнопками мыши.

Что я на самом деле хочу, так это то, что on_myTableWidget_cellClicked вызывается с использованием левой и правой кнопок мыши и что on_myTableWidget_cellDoubleClicked вызывается только при использовании левой кнопки мыши.

Как это сделать? Просто используя eventFilter? Если да, то как я могу получить правильную строку из QTableWidget?

Я использую Qt версию 5.3.2.

ответ

0

Когда вы щелкаете правой кнопкой мыши, запускается контекстное меню, связанное с сигналом/событием.

Для получения более подробной информации см. here.