wxSplitterWindow.SplitVertical不接受Elixir/Erlang中的窗口
我正在尝试使用Elixir中的WxErlang使拆分窗口正常工作 我基本上是在做与:wx.demo中的splitterWindow示例完全相同的事情,但是:wxSplitterWindow.SplitVertical函数返回false(不工作),我不知道wny 代码如下: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
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也有,真不敢相信我没有看到它。