2010-12-15 16 views
5

Soy nuevo en la programación de GUI y multihilo. Estoy en el proceso de crear una aplicación en tiempo real que recibe información de mi automóvil y la presenta de una manera significativa. Mi aplicación se presenta como 3 hilos, la GUI (hilo principal), el hilo de renderizado y el hilo de comunicación de hardware. Entretanto, el renderizado y los hilos de hardware son un buffer de anillo compartido. En el render, he creado un temporizador para que dibuje la nueva interfaz 20 veces por segundo. Me gustaría que el hilo notifique al hilo principal que hay una nueva pantalla disponible y estaba pensando que un método de señales/ranuras funcionaría mejor para esto. Esto se reduce a mi pregunta. Cuando mi render llama a un espacio, digamos Screen_Avalable, que está en el objeto de mi ventana principal en el hilo principal, ¿esta ranura/método se procesa en mi hilo de trabajo o en el hilo principal?Qt Signals/Slots and Threads

+0

Tenga en cuenta que probablemente no sea una buena idea dibujar algo en la GUI a partir de cualquier hilo que no sea el de GUI. Su hilo de representación probablemente solo debería preparar datos para dibujar y pasarlos al hilo de la GUI usando una cola o algo así. –

+0

En Qt no se puede mostrar nada que no sea el hilo Gui –

+0

Iba a dibujar en un mapa de píxeles y luego pasar el mapa de puntos al hilo de la interfaz gráfica de usuario para dibujar en la pantalla – Talguy

Respuesta

4

Se procesa en el hilo principal de manera predeterminada, pero consulte this guide para obtener más información.

2

Se procesa en el hilo principal.