[Gvsig_usuarios] Script con formularios

Ovidio Ribeira alboredos en hotmail.es
Mar Oct 4 13:34:24 CEST 2016


Saludos, al usar una sola columna para cada botón si que funciona.

Gracias


________________________________
De: gvsig_usuarios-bounces en listserv.gva.es <gvsig_usuarios-bounces en listserv.gva.es> en nombre de Joaquin Jose del Cerro Murciano <jjdelcerro en gvsig.org>
Enviado: martes, 4 de octubre de 2016 11:55
Para: Lista de Usuarios de gvSIG
Asunto: Re: [Gvsig_usuarios] Script con formularios

Hola Ovidio,
Aqui de nuevo para ver si te doy pistas.

Veo de darte una idea rapida,
Y lo mejor contarlo con un ejemplo.

Voy a suponer que queremos hacer un formulario con campos a una sola columna, con su etiqueta y su caja de texto, en la parte superior una etiqueta con un titulo y en la parte inferior unos botones. Vamos lo mas normal.

Sobre las lineas...
Dejaremos: 2 + 2*Campos + 2 + 1.
Una primera linea y otra ultima para separar los componentes del borde de la ventana.
Y luego una linea para la cabecera, dos por campo, dos para los botones. Asi dejamos siempre una linea entre componentes para que no esten pegados.

Sobre las columnas...
Crearimos un formulario con el abeille con cinco columnas:

- Primera columna, vacia, para hacer que nuestros
  componentes no queden pegados al borde izquierdo.
- Segunda columna, nuestra etiqueta.
- Tercera columna, vacia,  para separar la
  etiqueta de la caja de texto.
- Cuarta columna, la caja de texto.
- Quinta columna, vacia, para hacer que nuestros
  componentes no queden pegados al borde derecho.

Y luego seleccionaremos la cuarta columna, donde esta nuestra caja de texto y en la opcion de menu "Column->Resice:Grow", con lo que esa columna crecera a lo ancho para ocupar todo nuestro formulario.

Bueno, con esto tenemos las lineas de los campos del formulario.
Vamos con la cabecera.

En la segunda linea, la linea de cabecera, meteremos nuestra etiqueta, por ejemplo "coordenadas". Y en el menu seleccionaremos "Column->Increase column Span", dos veces, para hacer que el texto de cabecera crezca y ocupe lo mismo que la 2,3 y 4 columna juntas.

Ahora vamos con los botones de abajo. Mi consejo es que para los botones uses un "Embededd form" (buscalo por la caja de herramientas consultando el tooltip) y lo coloques igual que has hecho con la etiqueta de cabecera pero en la penultima linea del formulario. Le dices que "columns" 4, y "rows" 1. Y una vez incrustado le dices que ocupe las columnas 2,3 y 4 igual que hiciste con la cabecera.
Ahora, si quieres que los botones esten alineados la a derecha, seleccionas las celda del subformulario (ojo, la del subformulario, no una de dentro del subformulario) y en

  "Form properties->Cell->Alignment->Horizontal->RIGHT"

Ahora solo falta poner los botones en las celdas del subformulario, rellenando con ellos las celdas de derecha a izquierda y dejando una celda entre ellos para que no queden pegados.
Al subformulario le dijimos que 4 columnas, dos por cada boton, una para el y otra para de separador entre botones. Si vas a poner mas botones puedes añadir mas celdas.

Si has podido seguir lo que te cuento, el formulario se podra redimensionar correctamente manteniendo siempre un tamaño minimo que deje ver todos los componentes.

Y por ultimo.
Puedes fijar el tamaño "preferido" que quieres que tenga tu formulario (con el que se mostrara por primera vez) asignandolo en el constructor de este (en el metodo __init__ de tu formulario) llamando al metodo serPreferredSize:

class Panel(FormPanel):
  def __init__(self):
    FormPanel.__init__(
      self,
      os.path.join(os.path.dirname(__file__), "ui_basic.xml")
    )
    self.setPreferredSize(300,300)

Espero que se entienda.

Un saludo
Joaquin


El 28 de septiembre de 2016, 15:02, Ovidio Ribeira <alboredos en hotmail.es<mailto:alboredos en hotmail.es>> escribió:
Buenos días, estoy intentando hacer un script de dialogo usando como plantilla “centrar coordenadas”, pero tengo dos dudas, por ahora, una, hay alguna forma de que en vez de que el formulario aparezca en la esquina superior derecha lo haga en la izquierda, y otra como hacer para que aparezca todo el texto de los botones “centrar” y “cerrar”,
Saludos y gracias


_______________________________________________
gvSIG_usuarios mailing list
gvSIG_usuarios en listserv.gva.es<mailto:gvSIG_usuarios en listserv.gva.es>

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:

https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios




--
--------------------------------------
Joaquin Jose del Cerro Murciano
Development and software arquitecture manager at gvSIG Team
jjdelcerro en gvsig.com<mailto:jjdelcerro en gvsig.com>
jjdelcerro en gvsig.org<mailto:jjdelcerro en gvsig.org>
gvSIG Association
www.gvsig.com<http://www.gvsig.com>
www.gvsig.org<http://www.gvsig.org>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20161004/9ae7835b/attachment.html>


Más información sobre la lista de distribución gvSIG_usuarios