ich schreibe hier, weil ich schon den gesamten QtAssistant durchforstet habe. Sämtliche Beispiele habe ich schon durchgelesen und hier im Forum auch schon gesucht, aber irgendwie funktioniert es nicht, dass ich in einer von QTableView abgeleiteten Klasse ein Contextmenü mit aufrufe. Ich nutze Qt 4.4.3 und den MinGW Compiler.
Der Konstruktor der Klasse enthält bereits:
Code: Alles auswählen
TableView::TableView(QWidget * parent)
{
/* ........... */
setContextMenuPolicy(Qt::CustomContextMenu);
createActions();
}
Code: Alles auswählen
void TableView::createActions()
{
actionOpen = new QAction(tr("&Öffnen"),this);
actionAlter = new QAction(tr("&Ändern"),this);
actionDelete = new QAction(tr("&Löschen"),this);
}
Code: Alles auswählen
void TableView::contextMenuEvent(QContextMenuEvent *event)
{
QMenu contextMenu(this);
contextMenu.addAction(actionOpen);
contextMenu.setDefaultAction(actionOpen);
contextMenu.addSeparator();
contextMenu.addAction(actionAlter);
contextMenu.addSeparator();
contextMenu.addAction(actionDelete);
contextMenu.exec(event->globalPos());
}danke schonmal,
nic