2010-10-13 16 views

risposta

37

Sì .. Slot sono solo normali funzioni e li si può chiamare direttamente ..

Da docs,

Uno slot è chiamato quando è collegato un segnale ad esso viene emesso. Gli slot sono normali funzioni C++ e possono essere chiamati normalmente; la loro unica caratteristica speciale è che i segnali possono essere collegati a loro.

+4

Ecco perché mi piace una buona documentazione: esplicita e semplice. – Klaim

+0

So che possono essere chiamati normalmente. Ho letto anche la documentazione. Ma la domanda è più un progetto che una domanda C++. – Daniel

+6

Il problema è il multithreading. Se si richiama direttamente uno slot, il thread in esecuzione potrebbe essere diverso dall'esecuzione si sarebbe utilizzato connect() (se l'oggetto dello slot è stato spostato in precedenza su un altro thread). Vedi anche http://stackoverflow.com/questions/1144240/qt-how-to-call-slot-from-custom-c-code-running-in-a-different-thread – Trilarion

Problemi correlati