[gelöst] separater im context von Hand setzen und löschen
Verfasst: 29. März 2010 11:16
hi habe mir auf mein QTreeView ein Kontextmenü erstellt das Zellenabhängig reagieren soll.
1.
2.
Frage:
Wie kann ich jetzt für den nächsten Menüpunkt einen Separater einfügen und eventuell auch wieder löschen wenn die Zelle keine zwei Einträge im Kontextmenü haben soll?
1.
Code: Alles auswählen
connect(ui->treeView, SIGNAL(clicked(QModelIndex)), this, SLOT(contextTreeView(QModelIndex)));Code: Alles auswählen
void MainWindow::contextTreeView(QModelIndex index)
{
ui->treeView->setContextMenuPolicy(Qt::NoContextMenu);
switch(index.column()){
case 4:
case 5:
case 6:
case 7:
// Bedingung für das ContextMenu Teilung:
// 1. Teiler sind in den Spalten: 4,5,6,7 vorhanden
// 2. die Teilung ist noch nicht gerechnet (?)
if(model->data(index,Qt::DisplayRole).toString().contains(QRegExp("[0-9]"))){
if(model->data(model->index(index.row(),
index.column()+4,
index.parent()),
Qt::DisplayRole).toString().contains(QRegExp("[?]")))
{
this->index = index;
ui->treeView->addAction(ui->action_Teilung);
ui->treeView->setContextMenuPolicy(Qt::ActionsContextMenu);
}
}
break;
default:
break;
}
}Wie kann ich jetzt für den nächsten Menüpunkt einen Separater einfügen und eventuell auch wieder löschen wenn die Zelle keine zwei Einträge im Kontextmenü haben soll?