So che posso usare QSignalMapper
per chiamare uno slot con diversi parametri basati sulla connessione. Quello che voglio ottenere è un po 'diverso.Segnali Qt basati sul valore di parametro
Utilizziamo i plugin nella nostra applicazione e diversi plugin sono responsabili per diversi tipi di oggetti. Stiamo collegando più slot, ciascuno implementato in un plug-in diverso, a un segnale emesso dall'applicazione principale. Uno dei parametri del segnale è un QString
che indica il tipo di oggetto associato al segnale. Attualmente, stiamo controllando questo parametro negli slot e procediamo se il tipo è gestito dal plugin. Questo ha uno svantaggio, ogni plugin fa questo controllo e voglio evitare questo se possibile.
Voglio collegare tutti gli slot allo stesso segnale e quando viene emesso il segnale, viene chiamato solo lo slot appropriato in base al valore dell'argomento QString
, un po 'come un QSignalMapper
ma in un modo diverso.
C'è qualche meccanismo integrato per farlo? Se no, qualche idea su come posso ottenere questo?
Grazie in anticipo.