Как обрабатывать действия из контекстного меню QLineEdit в Qt?

Я хотел бы перехватить действие вставки контекстного меню QLineEdit, которое создается по умолчанию в любом виджете QLineEdit (см. Рисунок ниже)

введите описание изображения здесь

Есть ли способ перенаправить действие Вставить контекстного меню каким-либо образом?

1 ответ

Можно выполнить действия в контекстном меню, перегружая contextMenuEvent виджета QLineEdit.

Редактировать:

Код ссылки выше:

void LineEdit::contextMenuEvent(QContextMenuEvent *event)
{
    QMenu *menu = createStandardContextMenu();
    menu->addAction(tr("My Menu Item"));
    //...
    menu->exec(event->globalPos());
    delete menu;
}

И код, который я фактически использовал для своих целей:

menu = self.createStandardContextMenu()

menu.actions()[5].connect(self.paste) # The hard ref to the 6th item is not ideal but what can you do...

menu.exec_(event.globalPos())
Другие вопросы по тегам