2012-04-28 14 views
6

Estoy pensando en portar mi aplicación de acceso a Qt. Estoy interesado en aprender cómo hacer subflujos continuos, widgets sub personalizados para presentar/editar/insertar datos del conjunto de registros de una manera de cuadrícula de datos no desplegable. Lo que significa que podría poner botones, etiquetas, combo, lineEdit ... lo que sea, para cada registro.cómo crear ms-access como subformularios continuos (widgets) en Qt?

Me gusta QTableView y delegados. Simplemente no sé si podría modificarse para emular completamente el subformulario de acceso.

Pregunta adicional (tal vez la misma respuesta) ... ¿cómo HACEN esas formas continuas en el acceso bajo el capó.

gracias

... no datos reales de aplicación en ese ejemplo de registros

design

the works

+0

¿Podría agregar una captura de pantalla a su pregunta, mostrando lo que desea, para aquellos de nosotros que no estamos familiarizados con Access? –

+0

PD Ahora que su reputación es superior a 10, podrá agregar una imagen. –

Respuesta

2

Qt MVC es probablemente la mejor respuesta/más fácil de tu pregunta (http://qt-project.org/doc/qt-4.8/model-view-programming.html), y con QTableView deberías ser capaz de lograr lo que quieres.

Otra solución podría ser: si tiene un conjunto de elementos de columna en cada fila, puede simplemente diseñar un QWidget con el contenido de la fila y pegar sus elementos (filas) en un QVerticalLayout.

Aunque sugiero probar con MVC porque esa es la forma preferida y en este caso incluso podría portarla para usar QML UI si lo desea (aunque puede usar las mismas clases de datos para el 'back-end'). QML es definitivamente el mejor enfoque para (incluso ligeramente) UIs animadas, y es lo suficientemente maduro como para usarlo ya (es parte de Qt 4.8 y será la 'estrella' de Qt 5).

+0

gracias, no es una respuesta definitiva. pero en esta fase de mi proyecto no es una misión crítica. Usaré MVC, vistas estándar y delegados. y después de que realmente llegue a saber que probaré las vistas personalizadas de los artículos. Solo pensé que Qt tiene una solución más simple y más obvia para mi problema. – Josip

+0

. Creo que la solución "más simple, más obvia" es la solución QVerticalLayout + QWidget personalizada que he mencionado. Probablemente requiera menos código para escribir, pero aun así recomendaría usar MVC porque es una solución más reutilizable y más robusta, pero requiere un conocimiento de arquitectura más profundo sobre cómo debería usar MVC con Qt (y probablemente también un poco más de código).) –

+0

Acabo de encontrar este ejemplo/demostración oficial de Qt que puede ayudarlo: [http://qt-project.org/doc/qt-4.8/demos-spreadsheet.html](http://qt-project.org/doc /qt-4.8/demos-spreadsheet.html) - aunque usa QTableWidget y no QTableView. –

Cuestiones relacionadas