【问题标题】:wxSplitterWindow.splitVertically not accepting windows in Elixir/ErlangwxSplitterWindow.splitVertically 不接受 Elixir/Erlang 中的窗口
【发布时间】:2015-02-05 10:44:43
【问题描述】:

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

我基本上在做与 :wx.demo 中的 splitterWindow 示例完全相同的事情,但是 :wxSplitterWindow.splitVertically 函数返回 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

我没有收到任何其他错误。

这是程序运行的截图:http://screencast.com/t/g0sG89ECi

有人知道我在这里做错了什么吗?

谢谢。

【问题讨论】:

  • 根据文档,他们说如果它已经拆分则返回 false:docs.wxwidgets.org/2.8.9/…。鉴于您正在尝试拆分 splitterWindow “对象”,也许 splitterWindow 实际上已经拆分,您只需要嵌入它的两个部分?
  • 不,因为您需要使用 splitVertically() 或 splitHorizo​​ntally() 来初始化拆分(根据文档)。但为了确保,我在它之前使用了 isSplit() 函数,它也返回 false。

标签: elixir wxerlang


【解决方案1】:

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

【讨论】:

  • 谢谢,:wx.demo 也有,不敢相信我没看到。
猜你喜欢
  • 2017-05-29
  • 2018-06-01
  • 2016-05-26
  • 2017-11-28
  • 2013-12-25
  • 2016-05-05
  • 2011-12-09
  • 2011-06-30
  • 2022-11-14
相关资源
最近更新 更多