문제

나는 간단한 레이아웃을 시도하고 있는데 패널은 스플리터 위도우로 나뉘어져 있으며 전체 영역을 채우기 위해 확장되지 않습니다. 내가 원하는 것은 다음과 같습니다.

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

실제 코드는 다음과 같습니다.

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

패널 색상을 다르게 설정하고 실제로 전체 영역을 사용하고 있으므로 문제는 박스 라이저가 아닌 패널 내의 스플리터 위도입니다.

왜 작동하지 않는지에 대한 아이디어가 있습니까? 감사!

도움이 되었습니까?

해결책

패널이 확장 중이지만 패널 내의 스크롤 워드 와인 DO는 패널에 시저를 사용하지 않고 프레임 만 사용하지 않기 때문입니다.

패널없이 스플리터 와인도를 프레임의 아이가되도록 시도 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top