Simulación de robot: QGraphicsScene sin QGraphicsView

Quiero simular robots que buscan comida en un entorno 2D desconocido. La idea es hacerlos evolucionar con algoritmos genéticos. Los robots tienen unos captores para ver hacia adelante y motores para moverse. Hay algunas fuentes de alimentos en la superficie del entorno 2D.

Planeo usar Qt para la simulación gráfica usando clases. QGraphicsScene y QGraphicsView.

Mi pregunta es: como voy a ejecutar la simulación cientos de veces (algoritmos genéticos), solo quiero mostrar la última iteración y ocultar todas las anteriores. ¿Es posible utilizar sólo el QGraphicsScene por eso, sin el QGraphicsView excepto por la última iteración? Y lo más importante, ¿es eficiente?

preguntado el 22 de mayo de 12 a las 21:05

1 Respuestas

Un QGraphicsView solo puede mostrar una escena a la vez, usando QGraphicsView::setScene(). Estaría perfectamente bien tener muchas QGraphicsScenes, pero solo mostrando una de ellas; en su caso, la última iteración.

Diría que este es un enfoque eficiente a menos que tenga muchas escenas, cada una con muchos QGraphicsItems (por ejemplo, miles), en cuyo caso la memoria podría convertirse en un problema.

contestado el 22 de mayo de 12 a las 21:05

Thx, pero ¿es eficiente usar un QGraphicsScene como lienzo x*y para hacer muchas simulaciones con él pero sin QGraphicsView? - AdeB

@AdeB Debería serlo, si no se dibuja nada. - Antonio

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.