Adding a right-click menu for specific items in QTreeView

后端 未结 1 593
再見小時候
再見小時候 2020-12-13 06:36

I\'m writing a Qt desktop application in c++ with Qt Creator.

I declared in my main window a treeView, and a compatible model.

Now, I would like to have a ri

相关标签:
1条回答
  • 2020-12-13 07:16

    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));
        }    
    }
    
    0 讨论(0)
提交回复
热议问题