# Hacia el casillero perfecto

**URL:** <https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306>\
**Category:** Velneo\
**Created:** [5 Julio, 2012 08:45 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306 "2012-07-05T08:45:21Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![desarrollo-icenter-t](https://avatars.discourse-cdn.com/v4/letter/d/e480ec/32.png) [@desarrollo-icenter-t](https://foros.velneo.com/u/desarrollo-icenter-t)\
**Post date:** [5 Julio, 2012 08:45 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306/1 "2012-07-05T08:45:21Z")

</div>

Buenas!  
Hasta donde yo se y hasta donde he podido llegar, con los casilleros de v7 o quedan espacios muertos o salen barras de desplazamiento, pero no he podido encontrar la forma de autoajuste que había en v6, en la que te despreocupabas de cuántos elementos había que mostrar y el formulario ajustaba perfectamente el espacio a las celdas necesarias.  
He probado a utilizar un formulario QML como formulario del casillero, pero tampoco ajusta.  
Y dando vueltas a los ejemplos y tutoriales, vi el de la calculadora en el que las teclas se ajustaban perfectamente al espacio de la ventana. Incluso el texto se ajusta en tamaño. Una maravilla! Se le puede poner su menú contextual, se manejan perfectamente las pulsaciones… Todo perfecto! Salvo que soy incapaz de ligarlo a una lista de datos para que en vez de elementos fijos, muestre los elementos de la lista. Adjunto pantallas de cómo queda el casillero en v7 y de cómo redimensiona el casillero QML, así como muestra del código que utiliza y el intento frustrado de uso del ‘theListView’ y del ‘theListModel’…  
Alguien se anima? 😉  
Adjunto también el .vin del ejemplo, así como la ruta para probarlo en un vServer:

vatp://v7cloud3.velneo.com:6916  
Usuario  
1234

Saludos,

César Carnicero [attachment=24635,1920] [attachment=24635,1921] [attachment=24635,1922]

[Casillero\_QML.zip](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/d/d9e305a8bd267f3d000f88b82a28cbd21a951b97.zip) (13.5 KB)

[Pantallas.zip](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/e/ee6f54d4aa0f63be52fd55e9e3b88eb76760ea7b.zip) (328 KB)

[Casillero\_QML.zip](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/d/d9e305a8bd267f3d000f88b82a28cbd21a951b97.zip) (13.5 KB)

[Casillero\_QML.zip](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/d/d9e305a8bd267f3d000f88b82a28cbd21a951b97.zip) (13.5 KB)

[Pantallas.zip](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/e/ee6f54d4aa0f63be52fd55e9e3b88eb76760ea7b.zip) (328 KB)

[Casillero\_QML.zip](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/d/d9e305a8bd267f3d000f88b82a28cbd21a951b97.zip) (13.5 KB)

---

<div class="post-metadata">

**Author:** ![desarrollo-icenter-t](https://avatars.discourse-cdn.com/v4/letter/d/e480ec/32.png) [@desarrollo-icenter-t](https://foros.velneo.com/u/desarrollo-icenter-t)\
**Post date:** [5 Julio, 2012 09:03 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306/2 "2012-07-05T09:03:09Z")

</div>

Las imágenes. [attachment=24637,1923] [attachment=24637,1924] [attachment=24637,1925] [attachment=24637,1926]

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/a/a3d795ad1badd2cf5915ece93ab96a6573ff5519.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/5/5f874712c3a25ec3ed2e6014b4d71862de4bd67c.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/8/87433849af0af872e10932de7b88ac16f50ebfe7.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/e/e1b3d46b657ed7cffbe9314d5adadc553a77101a.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/a/a3d795ad1badd2cf5915ece93ab96a6573ff5519.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/5/5f874712c3a25ec3ed2e6014b4d71862de4bd67c.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/8/87433849af0af872e10932de7b88ac16f50ebfe7.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/e/e1b3d46b657ed7cffbe9314d5adadc553a77101a.jpg)

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [5 Julio, 2012 10:27 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306/3 "2012-07-05T10:27:14Z")

</div>

Muchas gracias por la aportación.  
Y ¡si!, tienes razón, la mejor opción para los casilleros, es usar QML

un saludo  
José Luis  
[http://www.ascsl.com](http://www.ascsl.com)

---

<div class="post-metadata">

**Author:** ![desarrollo-icenter-t](https://avatars.discourse-cdn.com/v4/letter/d/e480ec/32.png) [@desarrollo-icenter-t](https://foros.velneo.com/u/desarrollo-icenter-t)\
**Post date:** [6 Julio, 2012 14:53 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306/4 "2012-07-06T14:53:54Z")

</div>

Hmm… Bueno…  
Digamos que lo expuesto en los pantallazos, es lo que nos gustaría conseguir pero con conexión a datos de Velneo. Como veréis, en el código están puestos ‘a pelo’ los botones que se muestran. Y funcionan y se autoajustan perfectamente, pero lo que desearíamos es que esos botones fueran los correspondientes a los registros de la lista que pasamos al proceso QML. Y eso es lo que se nos resiste y para lo que buscamos vuestra colaboración.  
Hemos conseguido que funcione con un ListView y con un GridView, pero no con un Grid que es el que ajusta tal y como se muestra en los pantallazos.

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [8 Julio, 2012 19:24 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306/5 "2012-07-08T19:24:51Z")

</div>

Creo que este es el QML que necesitas:

import QtQuick 1.0  
import “Core”

Rectangle {  
id: window  
color: ‘lightgray’  
width: 200; height: 200

```
property int filas: 4
property int cols: 4
property int espacio: 6

GridView {
    id: main
	anchors.fill: parent

	objectName: "theListView"
    width: (parent.width/cols); height: (parent.height/filas)

	cellHeight: (parent.height / filas)
	cellWidth: (parent.width / cols)

	model: theListModel
	delegate:
		Button { 
			width: main.cellWidth; height: main.cellHeight
			operation: "T"; color: 'blue' 
		}
}

```

}

un saludo  
José Luis  
[http://www.ascsl.com](http://www.ascsl.com)

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [8 Julio, 2012 19:26 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306/6 "2012-07-08T19:26:47Z")

</div>

Se me olvidaba, en la propiedad URL imagen del objeto QML, debes indicar la siguiente fórmula:

choose(#IMAGEN:isEmpty()  
, “image://velneo/D/3e8v1efi.vca/DIBUJO”  
, “image://velneo/C/3e8v1efi.vca/IMAGENES/” + #IMAGEN )

un saludo  
José Luis  
[http://www.ascsl.com](http://www.ascsl.com)

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [8 Julio, 2012 19:31 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306/7 "2012-07-08T19:31:08Z")

</div>

Por cierto,  
Para que funcione, debes crear registros en la tabla IMAGENES 😉  
Y tener un objeto DIBUJO en el proyecto de aplicacion.

---

<div class="post-metadata">

**Author:** ![desarrollo-icenter-t](https://avatars.discourse-cdn.com/v4/letter/d/e480ec/32.png) [@desarrollo-icenter-t](https://foros.velneo.com/u/desarrollo-icenter-t)\
**Post date:** [9 Julio, 2012 09:59 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306/8 "2012-07-09T09:59:26Z")

</div>

Gracias, José Luis.  
Es un muy buen punto de partida, porque no habíamos conseguido con el GridView hacer que encajaran como queríamos.  
Vamos a intentar perfeccionarlo a nuestro gusto y necesidades y publicaremos la solución a la que lleguemos.  
Por terminar de pulirlo… habría forma de pasarle las filas y columnas como parámetros? Sería ideal utilizar algún tipo de variables, pero si no se puede?

César

---

<div class="post-metadata">

**Author:** ![desarrollo-icenter-t](https://avatars.discourse-cdn.com/v4/letter/d/e480ec/32.png) [@desarrollo-icenter-t](https://foros.velneo.com/u/desarrollo-icenter-t)\
**Post date:** [19 Julio, 2012 11:58 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306/9 "2012-07-19T11:58:48Z")

</div>

Hola de nuevo!  
Perfecto, perfecto, no es, pero a nosotros ya nos vale tal y como está.  
Una vez conseguido con el GridView poder asignar sobre un tamaño variable de pantalla, filas y columnas y que sobre ese espacio, redimensione las celdas, para nosotros ya es operativo. Y siempre unido a una lista de registros de Velneo.  
No hemos conseguido cambiar la geometría del casillero (si ya está abierto en una ventana), a otra distribución de filas y columnas distintas. Pero con que lo haga sobre la ventana inicial o sobre una nueva, nos vale.  
Os adjunto imágenes para que veáis cómo ajusta.  
En el primer ejemplo (a ventana completa), y con distintas resoluciones de pantalla, ajustamos 500 registros en 23 o 40 columnas. Jugamos con estilos de colores y condiciones para mostrarlos usando user roles.  
En el segundo (integrado en el formulario principal), al abrirse carga el número de registros que tiene generado distribuyéndolos de forma automática en filas y columnas.  
Adjunto también el .vin y mantenemos durante unos días el proyecto en el servidor que al inicio del hilo especificamos.

Saludos,

César Carnicero.  
ICenter [attachment=24886,1943] [attachment=24886,1944] [attachment=24886,1945] [attachment=24886,1946] [attachment=24886,1947]

![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/3/38483439eea3bd607a8cae89d9eb51ebbb508c89.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/3/348beab727d7c057c6455fe5bc559584ea6bb85b.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/a/a894c76cf16a9df104e364af990eb0c15015912f.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/0/02e1cc8c08fd9850f77ecba369931c33c17cfb30.jpg)

[Casillero\_QML.zip](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/1/1f435cc61281af23efcc3da88cd56192248172ea.zip) (10.8 KB)

![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/3/38483439eea3bd607a8cae89d9eb51ebbb508c89.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/3/348beab727d7c057c6455fe5bc559584ea6bb85b.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/a/a894c76cf16a9df104e364af990eb0c15015912f.jpg)

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/0/02e1cc8c08fd9850f77ecba369931c33c17cfb30.jpg)

[Casillero\_QML.zip](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/1/1f435cc61281af23efcc3da88cd56192248172ea.zip) (10.8 KB)

---

<div class="post-metadata">

**Author:** ![mdelgado](https://avatars.discourse-cdn.com/v4/letter/m/cc9497/32.png) [@mdelgado](https://foros.velneo.com/u/mdelgado)\
**Post date:** [14 Agosto, 2012 11:03 UTC](https://foros.velneo.com/t/hacia-el-casillero-perfecto/5306/10 "2012-08-14T11:03:20Z")

</div>

@Cesar

Gracias
