我正在使用 Qt Creator 用 C++ 编写 Qt 桌面应用程序。
我在主窗口中声明了一个树视图和一个兼容模型。
现在,我想要一个树项目的右键菜单。不是针对所有项目,而是针对其中的一部分,例如:针对具有偶数索引的树元素。
我尝试使用以下代码添加一个简单的上下文菜单:
在 .h 文件中:
QStandardItemModel* model;
QMenu* contextMenu;
QAction* uninstallAction;
private slots:
void uninstallAppletClickedSlot();
并在 .cpp 文件中:
在构造函数中:
ui->treeView->setModel(model);
contextMenu = new QMenu(ui->treeView);
ui->treeView->setContextMenuPolicy(Qt::ActionsContextMenu);
uninstallAction = new QAction("Uninstall TA",contextMenu);
ui->treeView->addAction(uninstallAction);
connect(uninstallAction, SIGNAL(triggered()), this, SLOT(uninstallAppletClickedSlot()));
和一个插槽:
void MainWindow::uninstallAppletClickedSlot()
{
}
此代码为我提供了一个包含所需操作的上下文菜单,但您知道如何仅为QStandardItem
具有偶数索引的 s 添加此操作吗?
顺便说一句,我通过以下方式将项目添加到树视图:
void MainWindow::AddItem(QString name)
{
QStandardItem *parentItem = model->invisibleRootItem();
QStandardItem *app = new QStandardItem(name);
parentItem->appendRow(app);
}
我用谷歌搜索了很多,但一无所获:(
提前致谢!