Frage

Ich bin ein einfaches Layout und die Platte versucht, durch eine SplitterWindow geteilt erweitere nicht den gesamten Bereich zu füllen, was ich will, ist dies:

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

Der eigentliche Code ist:

    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()

Ich habe die Platte Farbe unterschiedlich, und es ist eigentlich mit den ganzen Bereich, so dass das Problem ist nur der SplitterWindow innerhalb der Platte, nicht innerhalb der BoxSizer.

Alle Ideen, warum ist es nicht funktioniert? Dank!

War es hilfreich?

Lösung

Das Gremium wird wahrscheinlich erweitert aber die ScrolledWindow innerhalb des Panel ist nicht, weil Sie keine Sizer für das Panel verwenden, nur den Rahmen.

Sie könnte auch nur versuchen, die SplitterWindow ein Kind des Rahmens sein, die, ohne das Panel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top