WXWidgets Sizers在侧面留下一个间隙
WXWidgets Sizers leaving a gap at the side
我的项目在主框架上有一个BoxSizer,然后BoxSizer包含一个面板,作为Gride Sizer。尺寸调整器按预期工作,直到窗口水平尺寸超过某个点,然后不会水平拉伸任何东西。当屏幕最大化时,右侧有一个间隙,但元素正确占据了整个垂直高度。
MyFrame::MyFrame(const wxString& title,const wxPoint& pos,const wxSize& size)
: wxFrame(NULL,wxID_ANY,title,pos,size){
box=new wxBoxSizer(wxHORIZONTAL);
panel=new wxPanel(this);
grid=new wxGridSizer(14,7,3,3);
//add all the elements to the grid, in this way
grid->Add(new CustomButton("Text",panel),1,wxEXPAND);
panel->SetSizer(grid);
box->Add(panel);
this->SetSizer(box);
}
当屏幕最大化时,它看起来像这样。
[框文本和元素] [间隙] [窗口板]
[框文本和元素] [间隙] [窗口板]
[窗户的边界]
我不想要缝隙,我希望盒子被刺到窗户的边界上。
您必须同时使用非零(通常只有 1)比例和wxEXPAND
与顶级box
大小器一起使用,以使代码按预期工作。为网格大小器元素指定wxEXPAND
足以使它们扩展到面板中的可用空间,但面板本身未配置为扩展以占用框架中的所有空间,因此不会。
但实际上,在要扩展以填充所有可用空间的框架内有一个面板的情况非常普遍,因此对它有特殊的支持:事实上,如果您根本不使用box
尺寸器,它已经可以正常工作,因为默认情况下框架将调整其唯一的子级的大小以占用其中的所有空间。
相关文章:
- 重新定位图像时如何前进到下一个内存块
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 用于在 C++ 中使用 while 循环查找下一个素数的简单函数
- CIN 仅在输入非数字值时跳过下一个 CIN
- 查找最小的下一个更大的元素
- 转到基于范围的 for 循环中的下一个迭代器
- 如何检查流中文件的下一个单词是否为 alpha?
- 如何打印下一个字母直到 Z 并继续到 A?
- 在使用堆栈为下一个最大数字编写代码时面临 SIGSEGV(分段错误)
- 使用一个内存集数组和单个堆栈在 O(n) 中查找数组的下一个更大元素
- 有没有一种标准方法可以在C++中获取第 n 个"下一个"浮点值
- 下一个云桌面客户端构建过程
- C++自定义流操纵器,用于更改流上的下一个字符串
- 链表指针赋值为什么我们不能直接将尾巴分配给 temp 而不是尾巴>尾巴下一个
- 下一个排列定义
- 查找下一个具有真值C++的数组索引
- 如何比较文件中包含的下一个字符
- 检查IP是否在其他IP网络范围内,并查找下一个可用IP
- 当我使用c++生成器时,如何在输入完成后自动跳转到下一个"TEdit"
- 如何在没有运算符>>的情况下从字符串流返回下一个令牌?