2016-01-25 59 views
1

我正在致力于在QWidget上实施右键单击上下文菜单。我想知道如果有一种方法可以让这个菜单继承副本或以某种方式显示的元素MainWindowui->menubarQt使用菜单栏填充上下文菜单

+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); 
}