Layout en wxPython

Gema Núñez Blázquez gema_alf en yahoo.es
Mar Jul 22 10:24:38 CEST 2003


Hola necesito ayuda sobre un tema que es el siguiente:

Tengo un MiniFrame donde muestro una caja de texto y un botón que está dentro de un panel. Lo que quiero es que cuando el usuario cambie de tamaño la ventana los controles cambien de forma proporcional al nuevo tamaño para eso quiero utilizar Layout.

El caso es que cuando pongo la siguiente linea:

self.control.SetConstraints(Layoutf('X=X#1;Y=Y#1;h*;w%w50#1', (panel,)))

me muestra el panel y el boton pero no la caja de texto. Además que son esos caracteres ('X=X#1;Y=Y#1;h*;w%w50#1') que hay que meter al crear el Layoutf?.

Si alguient puede darme algunas notas sobre los Layout y como puedo solucionarlo se lo agradecería

El código de mi ventana es la siguiente:

La caja de texto está declarada como self.control porque necesito acceder desde fuera para poder ir insertando texto.

import sys, os

from wxPython.wx import *

from wxPython.lib.layoutf import Layoutf

class main_window(wxMiniFrame):

def __init__(self, parent, id, title):

wxMiniFrame.__init__(self, parent, id, title, pos=wxDefaultPosition, #size:ancho, alto

style=wxDEFAULT_FRAME_STYLE|wxTINY_CAPTION_HORIZ)#|wxNO_FULL_REPAINT_ON_RESIZE) 

panel = wxPanel(self, -1)

panel.SetAutoLayout(true)

panel.SetBackgroundColour(wxBLUE)

panel.SetConstraints(Layoutf('t=t10#1;l=l10#1;b=b10#1;r%r50#1',(self,)))

self.control = wxTextCtrl(panel, -1, style=wxTE_MULTILINE|wxTE_RICH2,size=(495, 450))#size(ancho,alto)

self.control.SetConstraints(Layoutf('X=X#1;Y=Y#1;h*;w%w50#1', (panel,)))

btnSalir = wxButton(panel, 1, "Cerrar", wxPoint(215, 450))#el 10 es el identificador

btnSalir.SetBackgroundColour(wxBLUE)

btnSalir.SetForegroundColour(wxWHITE)

#btnSalir.SetDefault()

EVT_BUTTON(self, 1, self.OnCloseMe)

EVT_CLOSE(self, self.OnCloseWindow)

self.Show(true)

def OnCloseMe(self, event):

self.Close(true)

def OnCloseWindow(self, event):

self.Destroy()

class App(wxApp):

def OnInit(self):

self.frame = main_window(None, -1, "Proceso")

self.frame.SetSize(wxSize(500, 500))

self.frame.Centre(wxBOTH)

self.SetTopWindow(self.frame)

return true

app = App(0)

app.MainLoop()

Gracias



---------------------------------
Yahoo! Messenger
Nueva versión: Super Webcam, voz, caritas animadas, y más #161;Gratis!
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20030722/321054d2/attachment.html>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es