Как добавить список QActions в QMenu и обработать их одним слотом?

Во-первых, у меня есть список QWidgetов, длину которого я не буду знать до выполнения. Затем я создаю QListWidget, где я показываю их, и когда кто-то нажимает на них, я использую сигнал currentItemChanged(QListWidgetItem*, QListWidgetItem*), чтобы поймать его и получить индекс нажатого элемента.

Теперь я хочу сделать аналогичную вещь в QMenu. Я буду знать список, когда будет создано QMenu и его действия, но я не смогу жестко закодировать это.

Как я могу создать действия, поймать их сигналы и подключить их к одному слоту, который делает разные вещи в зависимости от позиции (индекса) действия в списке меню? Должен быть какой-то способ решить это, поскольку другие приложения используют это. Я пытался посмотреть на маппинг, но не смог понять, как его использовать для этого.

Я пытался захватить отправителя в слоте, но не смог получить от него никакой полезной информации.

12
задан Mr_and_Mrs_D 10 December 2016 в 14:45
поделиться