2016-01-25 3 views
1

Я работаю над реализацией контекстного меню правой кнопкой мыши на QWidget. Мне было интересно, если есть способ сделать это меню унаследовать, копию или каким-то образом показать элементы в MainWindow «s ui->menubar.Qt заполнить контекстное меню с помощью строки меню

+0

Я не знаю, как это еще более прямым, но вы можете взять 'QAction's из главного меню и добавить их в контекстном меню. –

ответ

0

У меня есть ответ теперь, правильно ли то, что я хочу. Может быть лучше, но это довольно эффективным и конденсируется:

void MainWindow::customContextMenu(const QPoint &posa) { 
    QMenu contextMenu; 
    QPoint globalPos = ui->widget->mapToGlobal(posa); 
    QList<QMenu*> list = ui->menubar->findChildren<QMenu*>(); 
    for (int i=0; i<list.size(); i++) { 
     contextMenu.addMenu(list.at(i)); 
    } 
    contextMenu.exec(globalPos); 
} 
Смежные вопросы