2011-07-14 14 views
9

Estoy buscando clases de contenedor/colección de propósito general (por ejemplo, listas, mapas) que emiten señales Qt cuando se agregan o eliminan elementos.¿Hay alguna clase de contenedor Qt observable?

Sé que las clases estándar de contenedores Qt no lo hacen. ¿Alguien sabe de alguna biblioteca OSS que tenga contenedores observables?

Me doy cuenta de que hay problemas con las plantillas y las funciones de Qt. Si fuera fácil, lo haría yo mismo en lugar de buscar uno existente. :)

Gracias.

Respuesta

2

Pero es fácil :) Simplemente no intente subclasificar la clase de contenedor. Cree una subclase QObject que contenga una instancia del contenedor que desea usar y escriba Add and Remove métodos que emiten las señales que desea cuando son llamados.

+1

Ok, eso es cierto hasta donde llega. Creo que no era lo suficientemente específico. Lo que realmente esperaba era una solución más "completa" que incluye características como iteradores, inserción en el medio, etc. Podría escribir mi propio contenedor en otra clase de contenedor, pero preferiría no tener que escribir wrappers en cada método. Yo quería exponer. Pero si no encuentro un mejor enfoque, eso es probablemente lo que haré. – Chris

+2

¡Ah! Nuevos requisitos ... :) –

+0

Como señaló @Chris, esta respuesta pasa por alto los beneficios perdidos de las clases de contenedores de Qt: iteradores, bucles foreach, etc. – walkingTarget

Cuestiones relacionadas