Adding a right-click menu for specific items in QTreeView

I would do this in the following way: Configure the context menu ui->treeView->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->treeView, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(onCustomContextMenu(const QPoint &))); Implement the context menu handling void MainWindow::onCustomContextMenu(const QPoint &point) { QModelIndex index = ui->treeView->indexAt(point); if (index.isValid() && index.row() % 2 == 0) { contextMenu->exec(ui->treeView->viewport()->mapToGlobal(point)); } }