Per prima cosa, ho un elenco di QWidget
s che non conoscerò la lunghezza fino al runtime. Creo quindi uno QListWidget
dove li mostro e quando qualcuno li fa clic, uso il segnale currentItemChanged(QListWidgetItem*, QListWidgetItem*)
per catturarlo e ottenere l'indice dell'elemento selezionato.Come aggiungere un elenco di QActions a un QMenu e gestirli con un singolo slot?
Ora voglio fare una cosa simile nel QMenu
. Conoscerò l'elenco quando il QMenu
e le sue azioni verranno compilati, ma non sarà possibile codificarlo.
Come posso creare azioni, catturare i loro segnali e collegarli allo stesso slot che fa cose diverse a seconda della posizione dell'azione (indice) nell'elenco dei menu? Ci deve essere un modo per risolvere questo problema poiché altre applicazioni lo usano. Ho provato a guardare la mappatura ma non riuscivo a capire come usarlo per questo.
Ho provato ad afferrare lo sender
nello slot ma non sono riuscito a ottenere alcuna informazione utile da esso.
Oh grazie! L'ho risolto in un modo simile usando le azioni .property e impostando "index" su "i" (usando un ciclo for). Immagino che i dati siano un altro modo per risolverlo :) – chikuba
Ho provato a utilizzare la stessa soluzione, ma non funziona. Potete per favore dare un'occhiata a http://stackoverflow.com/q/14151443/986760 e aiutare. Grazie? – fayyazkl