Мне нужно контекстное меню для ячеек в моем QTableView, поэтому сначала я подключился:
connect(ui->tblTimesheet,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(sheetContextMenu(const QPoint &)));
И слот для этого подключения ниже:
void wndMyWindow::sheetContextMenu(const QPoint &pos){
QMenu *menu = new QMenu;
QModelIndex cell = ui->tblTimesheet->indexAt(pos);
// Make sure the right click occured on a cell!
if(cell.isValid()){
QString myid=cell.sibling(cell.row(),0).data().toString();
menu->addAction("Remove item", this, SLOT(sheetRemoveItem()));
menu->exec(ui->tblTimesheet->mapToGlobal(pos));
}
}
, который создает менюи помещает действие в меню, которое вызывает функцию при нажатии на это действие.Однако я хочу передать переменную myid во второй слот.Этот слот указан ниже:
void wndMyWindow::sheetRemoveItem(){
qDebug("Sure I'm here, but what info do I have?");
return;
}
Я не совсем уверен, как это сделать, кто-нибудь может помочь?