Pregunta

Tengo un modelo 2D donde cada fila representa un fotograma de un video y cada columna representa un objeto.El objeto puede tener diferentes estados en cada cuadro y esto se almacena en el modelo.Luego tengo un QTableView que muestra estos datos.El modelo tiene datos de encabezado, por lo que cada fila tiene un encabezado como "marco k" y cada columna tiene un encabezado como "objeto n".Esta tabla es editable.Pero quiero que el usuario lo edite de otra manera.La otra forma es una vista gráfica que muestra un solo cuadro.Debajo de la vista de gráficos hay una lista (orientada horizontalmente) que representa cada cuadro.De esta manera, el usuario puede hacer clic en un marco de la lista y la vista de gráficos ahora muestra ese marco.

El problema es que la lista muestra la primera columna de cada fila del modelo.Lo que quiero que haga es mostrar el encabezado de cada fila (para que la lista diga "cuadro 1, cuadro 2, etc.").¿Hay alguna forma de hacer esto?

¿Fue útil?

Solución

Dos posibles soluciones:

  1. Intente utilizar un modelo proxy (una subclase de QAbstractProxyModel) que acceda a los encabezados de las filas como columnas en una sola fila.No es trivial porque el modelo proxy muestra como datos lo que el modelo original considera un encabezado.

  2. Muestre una segunda vista 2D de su modelo, pero oculte todo excepto los encabezados de las columnas.Dado que sus marcos son filas, necesitará un modelo proxy para transponer entre filas y columnas.

DESCARGO DE RESPONSABILIDAD:En realidad, no implementé ninguna de las soluciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top