(因为我了解Python代码,所以我也将这个问题标记为Python,所以Python中的示例也很受欢迎!)。在
我想在wxWidgets中创建一个简单的窗口:
我创建一个主面板,添加到表单中
我将boxsizer与主面板关联(水平拆分为两个)。
我将LeftPanel添加到boxsizer,
我将RightPanel添加到boxsizer,
我创建了一个新的boxsizer(垂直)
我创建了另一个boxsizer(水平)
我创建了一个笔记本小部件
我创建一个面板并将其放入笔记本(addpage)
我将笔记本添加到新的boxsizer(垂直)中
我将垂直大小调整器添加到水平大小调整器中
我将水平大小调整器与右面板相关联
我将左右面板添加到主尺寸器。
这不管用。。。在
也许我漏掉了一些东西(关于sizer的心理障碍),但我希望做的是扩展笔记本widget,而不使用水平sizer中的垂直sizer(无论如何都不起作用)。在
所以我的问题是。假设我想扩展右面板中的Notebook小部件,以占据表单右侧的其余部分,我该怎么做呢?在
对于那些了解Erlang的人,这是我目前所掌握的:
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),
...
在我弄清楚我需要做什么之后(尽快)结束这个问题。在
基本上,我将add命令的比例改为1(这将扩展整个内容)
新代码:
相关问题 更多 >
编程相关推荐