- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
(我也将这个问题标记为 Python,因为我理解 Python 代码,所以也欢迎使用 Python 示例!)。
我想在wxWidgets中创建一个简单的窗口:
我创建了一个主面板,并将其添加到表单中
我将一个 boxsizer 关联到主面板(将其水平分成两部分)。
我将 LeftPanel 添加到 boxsizer,
我将 RightPanel 添加到 boxsizer,
我创建了一个新的 boxsizer(垂直)
我创建了另一个 boxsizer(水平)
我创建了一个笔记本小部件
我创建了一个面板并将其放入笔记本中 (addpage)
我将笔记本添加到新的 boxsizer(垂直的)
我在水平的中添加了垂直的 sizer
我将水平 sizer 关联到 RightPanel
我将左右面板添加到主 sizer。
这行不通...
也许我错过了一些东西(关于 sizer 的心理障碍)但我喜欢做的是扩展笔记本小部件而不使用水平 sizer 内的垂直 sizer(它不无论如何工作)。
所以我的问题是。假设我想扩展 RightPanel 中的笔记本小部件以占据表单右侧区域的其余部分,我该怎么做呢?
对于那些了解 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),
...
最佳答案
在弄清楚我需要做什么之后,我将(尽快)结束这个问题。
基本上我将添加命令的比例更改为 1 到主面板(这将扩展整个内容)
新代码:
%% Main Sizer
wxSizer:add(MainSizer, LeftPanel, [{proportion,0},{border, 2}, {flag,?wxEXPAND bor ?wxALL}]),
wxSizer:add(MainSizer, RightPanel, [{proportion,1},{border, 2}, {flag,?wxEXPAND bor ?wxTOP bor ?wxRIGHT bor ?wxBOTTOM}]),
关于python - 在二郎 : How do I expand wxNotebook in a panel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1218433/
我正在使用 wxWidgets(C++ 版本)开发记事本应用程序,并且我正在努力实现多文件支持。使用 wxNotebook 类,我似乎找不到任何有关向页面添加关闭按钮的文档,因此我可以轻松关闭单个文件
当动态更改 wxNotebook 中元素的大小时(例如隐藏按钮),整个笔记本元素的大小不会更新。这可能会留下空白或阻止显示某些元素。 通常情况下,调用父窗口的 Fit() 或 FitInside(
void Mainframe::OnClearNotebook( wxCommandEvent& e ) { int end = m_notebook->GetPageCount();
我有一个名为 MyListView 的类,它派生自 wxListCtrl,这个类充当 wxNotebook 的页面。 MyListView* l = new MyListView( m_noteboo
我有一个带有两个 wxNotebook 元素的 GUI,如下所示: class MainFrame(wx.Frame): def __init__(self): wx.Fram
(我也将这个问题标记为 Python,因为我理解 Python 代码,所以也欢迎使用 Python 示例!)。 我想在wxWidgets中创建一个简单的窗口: 我创建了一个主面板,并将其添加到表单中
我需要能够通过显示在每个选项卡上的文本/标签以编程方式在 wxNotebook 上添加和删除选项卡。 在 Windows 中,使用选项卡控件和选项卡页面,我将能够通过一个键来引用每个选项卡。选项卡控件
我正在尝试将具有水平布局的大小调整器嵌套在笔记本页面面板的垂直布局大小调整器内。 我从 wxPython: Resizing a notebook within a notebook 中得到了一些灵
如何使用 wxNotebook 创建像 IM 程序那样的 Tab 闪烁效果? 这方面的一个很好的例子是任何选项卡式 IM 程序,它会闪烁以向用户显示他们收到了新的 IM。 最佳答案 您可以为每个选项卡
我是一名优秀的程序员,十分优秀!