Как вставить элемент над стандартным контекстным меню в Qtextedit в Qt

В слоте customMenuRequested правой кнопкой мыши я могу добавить элемент в конец стандартного контекстного меню qtextedit. Но это "я новичок!" пункт находится внизу контекстного меню после всех стандартных вещей. Как я могу поставить его поверх всех элементов стандартного контекстного меню? Благодарю.

void MainWindow::customMenuRequested( QPoint pos)
{
    QMenu stdMenu=QMenu(ui->textedit->createStandardContextMenu());
    QMenu *newMenu = stdMenu->addMenu("I'm new!");

    menu->popup(ui->textedit->viewport()->mapToGlobal(pos));
}

1 ответ

Нашел решение!

  void MainWindow::customMenuRequested( QPoint pos)
  {
     QMenu* stdMenu= ui->textedit->createStandardContextMenu();
     QMenu* newMenu = new QMenu("I'm new!");
     stdMenu->insertMenu( stdMenu->actions().first(), newMenu );
     menu->popup(ui->textedit->viewport()->mapToGlobal(pos));
  }
Другие вопросы по тегам