问题标签 [sizer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
420 浏览

c++ - sizers 是处理表单的好方法吗?

我正在将我的应用程序从旧的 GUI(我在其中使用固定大小)移动到 wxWidgets(我正在尝试学习 sizer 的基础)。

在应用程序内部,我有几个结构相当复杂的表单。数据和工作流程的性质建议我将所有这些数据放在一个屏幕中。但是这个屏幕必须经过适当设计才能使用。

这是表格的旧版本...

带有固定布局的表单

...这或多或少是我可以使用sizer想出的...

使用 wxSizers 形成

请注意,我不能简单地使用 wxGridSizer,因为一些小部件跨越整个行,其他一些则脱离固定网格等。

显然我可以继续努力让它变得不那么难看,但我发现自己在想也许 sizers 不是正确的工具。为了实现我想要的,我需要类似于 wxGridSizer 的东西,具有某种 colspan/rowspan 机制,也许这还不够。

所以我开始考虑自己构建一个“Form Sizer”,它可以像

用户将设置每个小部件的相对大小,以完全阻止表单的几何形状。为了在调整大小时使此几何图形适合 wxPanel,Layout()将计算适当的缩放因子f,然后设置所有大小和位置,执行类似的操作

等等(这只是一个划痕,把它当作一个粗略的想法;应该有机制来避免使所有东西都太小而无法适应小部件中的文本和/或相应地缩放字体大小等等)。

看起来合理吗?你会如何面对这个话题?这个选择会影响我以后的发展,所以欢迎任何回答、批评和评论

0 投票
1 回答
362 浏览

python - Wxpython - 将静态定位转换为sizer

我在 wxpython 中使用静态定位已经有一段时间了,但需要切换到使用 sizers,但我就是无法掌握它。下面是我使用静态定位的应用程序的精简版本。有人可以给我一些关于如何将这种布局转换为使用sizer的指示。我还将附上屏幕截图:

屏幕抓取

0 投票
1 回答
34 浏览

wxpython - WxPythonAdd List to Grid Sizer

我有一个图像列表(wxImg),我想将其添加到网格尺寸器中。我无法弄清楚如何添加它们。这是我的一段代码。

等等。它总是给我错误。请帮忙。

谢谢。

0 投票
1 回答
163 浏览

c++ - 笔记本旁边的大小调整器和控件

我在笔记本旁边实施控件时遇到布局问题。

问题是,笔记本和它旁边的控件按预期正确对齐,但是笔记本中窗口上的控件彼此重叠,就好像没有使用大小调整器一样。

我感谢任何类型的输入如何解决这个问题。

编辑:提供示例代码来演示问题

头文件test.h:

测试.cpp

和makefile

0 投票
1 回答
231 浏览

python - wxPython -- 添加静态文本调整面板大小

我有一个相当简单的 flexgridsizer 设置,它创建了一个 3 x 3 网格:(便于阅读的快速注释:pvs = sizers,pvp = panel)

我没有明确设置面板的大小,它们的大小由可增长的行和列比例决定。

后来,我在顶部中间面板中添加了 2 个静态文本:

最后是问题:添加这些静态文本会调整顶部中间面板的大小,使其显着更宽更高。有没有办法锁定 flexgridsizer 比例?或者也许我做错了什么我可以改变以避免这种行为?

在故障排除过程中,我发现即使字体很大,文本也有足够的空间适应原始面板大小。我可以将字体大小降低到 5,它会变得非常小,但仍然会将面板的大小调整得稍微大一点,这几乎就像它正在推入面板而不是仅仅适合里面。

0 投票
1 回答
743 浏览

wxpython - wx.SplitterWindow 的 Sizer 不工作 wxPython

所以我有三个拆分器窗口,我正在尝试使用大小调整器,以便它们在调整大小等时表现正常。这是我现在拥有的代码。它不工作。

有人可以告诉我如何应用正确的尺寸器吗?我对sizer一点也不擅长,所以我只是使用了上面的那些,因为我在这里找到了它们[ wxPython Splitter windows and Panels

0 投票
2 回答
3570 浏览

button - wxPython - 在扩展大小调整器中对齐按钮

我正在尝试制作一个类似于 wx.MessageDialog 的对话框。底部有一个部分颜色不同,但在我的代码中,按钮不会配合。

按钮应向右对齐,底部应扩展为灰色。可能有一个简单的解决方案,任何人都能够看到我的错误?

这是将 sizer 设置为 expand

在此处输入图像描述

这是将 sizer 设置为不展开

在此处输入图像描述

这是演示该问题的代码的工作简化版本。麻烦的代码在底部,用“===”包围:

0 投票
1 回答
207 浏览

python - 使用 wxPython 显示图像时的垂直偏移

这是我们如何在 wxPython 框架中显示图像的方法。

在此处输入图像描述

如果测试图像尺寸很大,例如912 x 3616(这里是我用的0.png),我想设置一个垂直偏移,即框架的上角不应该是图像的(0,0)但是 (0,500)即 500px 的垂直偏移量。

如何使用 wxPython 为图像设置垂直偏移量?

0 投票
1 回答
282 浏览

user-interface - wxpython 应用程序在较低分辨率下关闭屏幕

晚上好/早上好,

我一直在我的 1920x1080 显示器上开发一个相当深入的程序。我已将所有内容设置为最大化时适合我的显示器。我有一些我认为与我设置我的sizer的方式有关的问题。

首先,当我减小屏幕的实际尺寸时,窗口内容并没有随之减小,而是从右侧切掉了。因此,较小的屏幕意味着一半的内容,而不是一半的内容大小。

当我调整分辨率时,这个问题也会延续。使用较低的分辨率,我只能获得大约一半的实际适合我的屏幕的内容。我不知道我应该如何设置我的 sizer 来解决这个问题,所以这里简要描述一下我现在拥有它们的方式:

我一直在阅读,并且在某处阅读了有关将 gridbagsizer 放在面板中并且应该可以工作的内容,因此我修改后的标题和更接近的是:

这也没有改变任何东西。我尝试将 SetSizeHints 设置为特定的分辨率,但这也不起作用。

那么,是什么导致了这个问题呢?我觉得这与我只对所有内容使用一个尺寸器有关。如果是这种情况,对我来说,无需完全重建新的尺寸器并分解内容的最简单方法是什么?

0 投票
1 回答
517 浏览

python - wxpython sizers - WX.EXPAND 对垫片有影响吗?

遵循BoxSizer 从头开始​​教程中的良好建议,我正在重构代码以将 wx.LEFT/RIGHT/TOP/BOTTOM 标志分解为“spacers” - 所以:

变成:

对于上述情况,我确信它们是完全等价的。但是,如果wx.EXPAND和 一个非零比例被指定为:

这是下面的:

完全等同于上述?从视觉上看,它们看起来确实相同,但我有什么遗漏吗?换句话说,是否wx.EXPAND影响边界,如果是,如何影响?

当然,上面的例子是微不足道的,但是在复杂的 sizer 布局中,上面的转换(如教程中所建议的那样)极大地简化了代码并使常见的 UI 模式脱颖而出,这些模式在 OR'ed 标志和数字的混乱中是完全不可读的。

编辑:将不胜感激有关添加垫片的正确方法的反馈。例如我在这里看到:

或者在我维护人们的代码中:

现在在 python 中应该有一种——最好只有一种——明显的方法——这里至少有 4 种——所以一些专家的反馈表示赞赏。