سؤال

أحاول تخطيطًا بسيطًا ولوحة مقسومة على splitterwindow لا تتوسع لملء المنطقة بأكملها ، ما أريده هو:

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

لقد قمت بتعيين لون اللوحة مختلفًا ، وهو يستخدم في الواقع المنطقة بأكملها ، وبالتالي فإن المشكلة هي مجرد SplitterWindow داخل اللوحة ، وليس داخل المربع.

أي أفكار حول سبب عدم عملها؟ شكرًا!

هل كانت مفيدة؟

المحلول

من المحتمل أن تتوسع اللوحة ولكن SclolledWindow داخل اللوحة ليست كذلك ، لأنك لا تستخدم sizer للوحة ، فقط الإطار.

يمكنك أيضًا محاولة وجود splitterwindow أن يكون طفلاً في الإطار ، بدون اللوحة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top