wxPython SplitterWindow ne se développe pas dans un panneau
-
20-08-2019 - |
Question
J'essaie une disposition simple et le panneau divisé par une fenêtre SplitterWindow ne se développe pas pour remplir toute la zone. Ce que je veux, c'est ceci:
[button] <= (fixed size)
---------
TEXT AREA }
~~~~~~~~~ <= (this is the splitter) } this is a panel
TEXT AREA }
Le code actuel est:
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()
La couleur du panneau est différente et utilise en fait toute la zone. Le problème ne concerne donc que SplitterWindow dans le panneau, pas dans BoxSizer.
Des idées sur les raisons pour lesquelles cela ne fonctionne pas? Merci!
La solution
Le Panel est probablement en expansion, mais la ScrolledWindow dans le Panel ne l’est pas, car vous n’utilisez pas de dimenseur pour le Panel, mais uniquement le cadre.
Vous pouvez également essayer simplement de faire de SplitterWindow un enfant du cadre, sans le panneau.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow