wxSplitterWindow.SplitVertical不接受Elixir/Erlang中的窗口

wxSplitterWindow.SplitVertical不接受Elixir/Erlang中的窗口,elixir,wxerlang,Elixir,Wxerlang,我正在尝试使用Elixir中的WxErlang使拆分窗口正常工作 我基本上是在做与:wx.demo中的splitterWindow示例完全相同的事情,但是:wxSplitterWindow.SplitVertical函数返回false(不工作),我不知道wny 代码如下: defmodule SplitWindow do import Bitwise import :wx_const # A custom Erlang module that imports wx constants d

我正在尝试使用Elixir中的WxErlang使拆分窗口正常工作

我基本上是在做与:wx.demo中的splitterWindow示例完全相同的事情,但是:wxSplitterWindow.SplitVertical函数返回false(不工作),我不知道wny

代码如下:

defmodule SplitWindow do

import Bitwise

import :wx_const  # A custom Erlang module that imports wx constants

def start do
    wx = :wx.new
    window = :wxFrame.new(wx, wxID_ANY, 'SplitWindow')
    :wxFrame.center(window)

    panel = :wxPanel.new(window)

    sizer = :wxBoxSizer.new(wxVERTICAL)

    splitter = :wxSplitterWindow.new(panel)

    text_edit = :wxTextCtrl.new(panel, wxID_ANY, value: 'Text Box',
        style: wxDEFAULT ||| wxTE_MULTILINE)

    text_edit2 = :wxTextCtrl.new(panel, wxID_ANY, value: 'Text Box2',
        style: wxDEFAULT ||| wxTE_MULTILINE)

    ##### This line below is where it fails #####
    IO.puts :wxSplitterWindow.splitVertically(splitter, text_edit, text_edit2)

    :wxSplitterWindow.setSashGravity(splitter, 0.5)
    :wxSplitterWindow.setMinimumPaneSize(splitter, 50)

    :wxSizer.add(sizer, splitter, flag: wxEXPAND, proportion: 1)

    :wxPanel.setSizer(panel, sizer)

    :wxFrame.show(window)
end
end  
IO.puts将输出:false

我没有收到任何其他错误

以下是正在运行的程序的屏幕截图:

有人知道我做错了什么吗


谢谢。

我对wxWidgets一无所知,但在本地(OS X)尝试了您的示例,我也感到很失望

查看代码,我凭直觉尝试将两个编辑控件的父控件设置为拆分器,而不是面板,这为我解决了问题:

text_edit = :wxTextCtrl.new(splitter, -1, value: 'Text Box', style: 70 ||| 32)

text_edit2 = :wxTextCtrl.new(splitter, -1, value: 'Text Box2', style: 70 ||| 32)

根据文档,他们说如果已经拆分,则返回false:。考虑到您正试图拆分splitterWindow“对象”,可能splitterWindow实际上已经拆分,您只需要嵌入它的两个部分即可?不,因为您需要使用SplitVertical()或SplitVertical()来初始化拆分(根据文档)。但为了确保,我在它之前使用了isSplit()函数,它也返回false。谢谢你这么做了:wx.demo也有,真不敢相信我没有看到它。