Pregunta

Estoy intentando un diseño simple y el panel dividido por una ventana SplitterWindow no se expande para llenar toda el área, lo que quiero es esto:

[button]   <= (fixed size)
---------                            
TEXT AREA                            }
~~~~~~~~~  <= (this is the splitter) } this is a panel
TEXT AREA                            }

El código real es:

    import wx
    app = wx.App()
    frame = wx.Frame(None, wx.ID_ANY, "Register Translator")

    parseButton = wx.Button(frame, label="Parse")
    panel = wx.Panel(frame)
    panel.SetBackgroundColour("BLUE")
    splitter = wx.SplitterWindow(panel)
    inputArea = wx.TextCtrl(splitter, style=wx.TE_MULTILINE)
    outputArea = wx.TextCtrl(splitter, style=wx.TE_MULTILINE)
    splitter.SplitHorizontally(inputArea, outputArea)

    sizer=wx.BoxSizer(wx.VERTICAL)
    sizer.Add(parseButton, 0, wx.ALIGN_CENTER)
    sizer.Add(panel, 1, wx.EXPAND | wx.ALL)

    frame.SetSizerAndFit(sizer)
    frame.SetAutoLayout(1)

    frame.Show(True)
    app.MainLoop()

Establecí el color del panel diferente, y en realidad está usando toda el área, por lo que el problema es solo la Ventana Splitter dentro del Panel, no dentro del BoxSizer.

¿Alguna idea sobre por qué no funciona? Gracias!

¿Fue útil?

Solución

El Panel probablemente se está expandiendo, pero la Ventana de desplazamiento dentro del Panel no, porque no está utilizando un tamaño para el panel, solo el marco.

También puede intentar que SplitterWindow sea un elemento secundario del marco, sin el panel.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top