Estoy llamando a emit signal1()
desde un subproceso no Qt. Por subproceso no Qt no me refiero al lazo de evento GUI y no a ningún método QThread run() ni a ningún evento propio QThread.emitir la señal Qt desde el subproceso Qt no Qt o fuera Qt evento principal de bucle con en 4.5
Es simplemente un pthread (pthread_create()) que llama a un método de QObject que emite señales.
ejemplo:
MyQbject: public QObject
{
...
void emitBunchOfSignals()
{
emit signal1();
emit signal2();
...
}
...
}
el método "run" de mi pthread que tiene un puntero a una instancia MiObjeto (instancia que se crea dentro del contexto del subproceso Qt GUI principal no la pthread) llama a los métodos emitBunchOfSignals()
.
Antes Qt 4.5 que era desagradable. Ahora, ¿Qt 4.5 maneja esto? ¿Llama al qApp->PostEvent()
o algo así para que la señal se emita dentro del subproceso de GUI de Qt (y, por lo tanto, de la ranura también)?
gracias
Cuando llame a connect, puede establecer explícitamente el tipo de conexión en cola. –
En el tiempo que tardó en escribir esta pregunta, podría haber abierto el código y buscarlo usted mismo. – shoosh
No parece sencillo ya que solía colgarse con Qt 3.xx. Estoy familiarizado con la opción de conexión (conexión en cola de conexión directa, etc.) pero pensé que funcionaba solo entre QTreads o entre un QThread y el bucle de evento principal. Por qué solía colgarse con Qt 3.xx al menos no era fácil de entender al mirar el código. Estoy loco ? –