(私はこの質問にPythonとしてタグを付けました。私はPythonコードを理解しているので、Pythonの例もまた歓迎です!)。erlang:パネルでwxNotebookを拡張するにはどうすればよいですか?
私はwxWidgetsの中で、単純なウィンドウを作成します:
私は私が(水平、2でそれを分割する)メインパネルにboxsizerを関連付けるフォーム
に追加するメインパネルを作成します。
私は新しいboxsizer(垂直)を作成
、私はboxsizerにRightPanelを追加
、boxsizerにLeftPanelを追加
私は別のboxsizer(水平)
を作成し、私はノートブックウィジェット
を作成し、私はパネルを作成そして、私はRightPanel
に水平サイザーを関連付ける私が横1
に垂直サイザーを追加
私は新しいboxsizer(縦1)にノートを追加するノート(追加addpage)
の中に置きます左と右のパネルをメインサイザーに追加します。
これは動作しません...
たぶん私が見逃している何か(精神的サイザーに関するブロック)が、は私はのように実行するだろうことは、垂直サイザーを使用せずにノートブックウィジェットを拡大することです水平の内側に(それはとにかく動作しません)。
だから私の質問です。 RightPanel内のノートブックウィジェットを拡張して、フォームの右側の領域の残りの部分を占めたいと仮定して、私はそれをどうやって行うのでしょうか?アーランを理解しているものについては
、これは私がこれまで持っているものです。
mainwindow() ->
%% Create new environment
X = wx:new(),
%% Create the main frame
MainFrame = wxFrame:new(X, -1, "Test"),
MainPanel = wxPanel:new(MainFrame, [{winid, ?wxID_ANY}]),
MainSizer = wxBoxSizer:new(?wxHORIZONTAL),
wxWindow:setSizer(MainPanel, MainSizer),
%% Left Panel...
LeftPanel = wxPanel:new(MainPanel, [{winid, ?wxID_ANY}]),
LeftPanelSizer = wxBoxSizer:new(?wxVERTICAL),
wxWindow:setSizer(LeftPanel, LeftPanelSizer),
wxWindow:setMinSize(LeftPanel, {152, -1}),
%% Right Panel
RightPanel = wxPanel:new(MainPanel, [{winid, ?wxID_ANY}]),
RightPanelVerticalSizer = wxBoxSizer:new(?wxVERTICAL),
RightPanelHorizontalSizer = wxBoxSizer:new(?wxHORIZONTAL),
wxWindow:setBackgroundColour(RightPanel, {255,0,0}),
Notebook = wxNotebook:new(RightPanel, ?wxID_ANY, [{size,{-1,-1}}]),
TestPanel1 = wxPanel:new(Notebook, [{size,{-1,-1}},{winid, ?wxID_ANY}]),
wxNotebook:addPage(Notebook, TestPanel1, "Testpanel!"),
TestPanel2 = wxPanel:new(Notebook, [{size,{-1,-1}},{winid, ?wxID_ANY}]),
wxNotebook:addPage(Notebook, TestPanel2, "Testpanel!"),
wxSizer:add(RightPanelVerticalSizer, Notebook, [{border,0},{proportion,1}, {flag,?wxEXPAND}]),
wxSizer:add(RightPanelHorizontalSizer, RightPanelVerticalSizer, [{proportion,1}, {flag,?wxEXPAND}]),
wxWindow:setSizer(RightPanel, RightPanelHorizontalSizer),
%% Main Sizer
wxSizer:add(MainSizer, LeftPanel, [{border, 2}, {flag,?wxEXPAND bor ?wxALL}]),
wxSizer:add(MainSizer, RightPanel, [{border, 2}, {flag,?wxEXPAND bor ?wxTOP bor ?wxRIGHT bor ?wxBOTTOM}]),
%% Connect to events
wxFrame:connect(MainFrame, close_window),
wxWindow:center(MainFrame),
wxWindow:show(MainFrame),
...