Adicionando um menu de atalho para itens específicos no QTreeView
Estou escrevendo um aplicativo de desktop Qt em c ++ com o Qt Creator.
Eu declarei na minha janela principal um treeView e um modelo compatível.
Agora, eu gostaria de ter um menu com o botão direito do mouse no item da árvore. Não para todos os itens, mas para uma parte deles, por exemplo: para os elementos da árvore com um índice par.
Tentei adicionar um menu de contexto simples com o seguinte código:
no arquivo .h:
QStandardItemModel* model;
QMenu* contextMenu;
QAction* uninstallAction;
private slots:
void uninstallAppletClickedSlot();
e no arquivo .cpp:
no construtor:
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()));
e um slot:
void MainWindow::uninstallAppletClickedSlot()
{
}
esse código fornece um menu de contexto com a ação desejada, mas você tem alguma idéia de como posso adicionar essa ação apenas para oQStandardItem
s com os índices pares ??
BTW, estou adicionando itens ao treeView da seguinte maneira:
void MainWindow::AddItem(QString name)
{
QStandardItem *parentItem = model->invisibleRootItem();
QStandardItem *app = new QStandardItem(name);
parentItem->appendRow(app);
}
Pesquisei bastante no Google, mas não encontrei nada :(
desde já, obrigado!