[Gvsig_usuarios] Script con formularios

Joaquin Jose del Cerro Murciano jjdelcerro en gvsig.org
Mar Oct 4 11:55:18 CEST 2016


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>
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
>
> 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
jjdelcerro en gvsig.org
gvSIG Association
www.gvsig.com
www.gvsig.org
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20161004/395b1593/attachment.html>


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