QTableWidget und QContextMenuEvent
Verfasst: 13. März 2010 13:50
Hallo Liste,
ich bin gerade an einem QTableWidget und versuche ihm ein KontxtMenu einzuimpfen. Mit QSignalMapper reagiere ich auf jedes Ereignis und rufe einen Slot mit einem Parameter auf.
Leider reagiert das Programm nicht auf die rechte Maustaste in der letzten Zeile. KEine Ahnung warum. Die Kontext-Taste auf der Tastatur funktioniert slebst in der letzten Zeile und des Slot wird richtig aufgerufen.
Könnt ihr mir helfen?
void startreihenfolge::contextMenuEvent(QContextMenuEvent *event)
{
int lo_item = ui->tableWidget_2->rowAt(event->pos().y() - ui->tabWidget->pos().y() - ui->tableWidget_2->pos().y() - 30);
if (lo_item)
{
if (lo_item > -1)
{
QMenu menu(this);
foreach (QString aktion, aktionen)
{
QStringList eintrag = aktion.split("::");
QAction *submenu = new QAction(eintrag[0], this);
connect(submenu, SIGNAL(triggered()), menuMapper, SLOT(map()));
menuMapper->setMapping(submenu,eintrag[1]);
menu.addAction(submenu);
}
menu.exec(event->globalPos());
}
Erni35
ich bin gerade an einem QTableWidget und versuche ihm ein KontxtMenu einzuimpfen. Mit QSignalMapper reagiere ich auf jedes Ereignis und rufe einen Slot mit einem Parameter auf.
Leider reagiert das Programm nicht auf die rechte Maustaste in der letzten Zeile. KEine Ahnung warum. Die Kontext-Taste auf der Tastatur funktioniert slebst in der letzten Zeile und des Slot wird richtig aufgerufen.
Könnt ihr mir helfen?
void startreihenfolge::contextMenuEvent(QContextMenuEvent *event)
{
int lo_item = ui->tableWidget_2->rowAt(event->pos().y() - ui->tabWidget->pos().y() - ui->tableWidget_2->pos().y() - 30);
if (lo_item)
{
if (lo_item > -1)
{
QMenu menu(this);
foreach (QString aktion, aktionen)
{
QStringList eintrag = aktion.split("::");
QAction *submenu = new QAction(eintrag[0], this);
connect(submenu, SIGNAL(triggered()), menuMapper, SLOT(map()));
menuMapper->setMapping(submenu,eintrag[1]);
menu.addAction(submenu);
}
menu.exec(event->globalPos());
}
Erni35