问题标签 [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.
c++ - sizers 是处理表单的好方法吗?
我正在将我的应用程序从旧的 GUI(我在其中使用固定大小)移动到 wxWidgets(我正在尝试学习 sizer 的基础)。
在应用程序内部,我有几个结构相当复杂的表单。数据和工作流程的性质建议我将所有这些数据放在一个屏幕中。但是这个屏幕必须经过适当设计才能使用。
这是表格的旧版本...
...这或多或少是我可以使用sizer想出的...
请注意,我不能简单地使用 wxGridSizer,因为一些小部件跨越整个行,其他一些则脱离固定网格等。
显然我可以继续努力让它变得不那么难看,但我发现自己在想也许 sizers 不是正确的工具。为了实现我想要的,我需要类似于 wxGridSizer 的东西,具有某种 colspan/rowspan 机制,也许这还不够。
所以我开始考虑自己构建一个“Form Sizer”,它可以像
用户将设置每个小部件的相对大小,以完全阻止表单的几何形状。为了在调整大小时使此几何图形适合 wxPanel,Layout()
将计算适当的缩放因子f
,然后设置所有大小和位置,执行类似的操作
等等(这只是一个划痕,把它当作一个粗略的想法;应该有机制来避免使所有东西都太小而无法适应小部件中的文本和/或相应地缩放字体大小等等)。
看起来合理吗?你会如何面对这个话题?这个选择会影响我以后的发展,所以欢迎任何回答、批评和评论
python - Wxpython - 将静态定位转换为sizer
我在 wxpython 中使用静态定位已经有一段时间了,但需要切换到使用 sizers,但我就是无法掌握它。下面是我使用静态定位的应用程序的精简版本。有人可以给我一些关于如何将这种布局转换为使用sizer的指示。我还将附上屏幕截图:
wxpython - WxPythonAdd List to Grid Sizer
我有一个图像列表(wxImg),我想将其添加到网格尺寸器中。我无法弄清楚如何添加它们。这是我的一段代码。
等等。它总是给我错误。请帮忙。
谢谢。
c++ - 笔记本旁边的大小调整器和控件
我在笔记本旁边实施控件时遇到布局问题。
问题是,笔记本和它旁边的控件按预期正确对齐,但是笔记本中窗口上的控件彼此重叠,就好像没有使用大小调整器一样。
我感谢任何类型的输入如何解决这个问题。
编辑:提供示例代码来演示问题
头文件test.h:
测试.cpp
和makefile
python - wxPython -- 添加静态文本调整面板大小
我有一个相当简单的 flexgridsizer 设置,它创建了一个 3 x 3 网格:(便于阅读的快速注释:pvs = sizers,pvp = panel)
我没有明确设置面板的大小,它们的大小由可增长的行和列比例决定。
后来,我在顶部中间面板中添加了 2 个静态文本:
最后是问题:添加这些静态文本会调整顶部中间面板的大小,使其显着更宽更高。有没有办法锁定 flexgridsizer 比例?或者也许我做错了什么我可以改变以避免这种行为?
在故障排除过程中,我发现即使字体很大,文本也有足够的空间适应原始面板大小。我可以将字体大小降低到 5,它会变得非常小,但仍然会将面板的大小调整得稍微大一点,这几乎就像它正在推入面板而不是仅仅适合里面。
wxpython - wx.SplitterWindow 的 Sizer 不工作 wxPython
所以我有三个拆分器窗口,我正在尝试使用大小调整器,以便它们在调整大小等时表现正常。这是我现在拥有的代码。它不工作。
有人可以告诉我如何应用正确的尺寸器吗?我对sizer一点也不擅长,所以我只是使用了上面的那些,因为我在这里找到了它们[ wxPython Splitter windows and Panels。
python - 使用 wxPython 显示图像时的垂直偏移
这是我们如何在 wxPython 框架中显示图像的方法。
如果测试图像尺寸很大,例如912 x 3616(这里是我用的0.png),我想设置一个垂直偏移,即框架的上角不应该是图像的(0,0)但是 (0,500)即 500px 的垂直偏移量。
如何使用 wxPython 为图像设置垂直偏移量?
user-interface - wxpython 应用程序在较低分辨率下关闭屏幕
晚上好/早上好,
我一直在我的 1920x1080 显示器上开发一个相当深入的程序。我已将所有内容设置为最大化时适合我的显示器。我有一些我认为与我设置我的sizer的方式有关的问题。
首先,当我减小屏幕的实际尺寸时,窗口内容并没有随之减小,而是从右侧切掉了。因此,较小的屏幕意味着一半的内容,而不是一半的内容大小。
当我调整分辨率时,这个问题也会延续。使用较低的分辨率,我只能获得大约一半的实际适合我的屏幕的内容。我不知道我应该如何设置我的 sizer 来解决这个问题,所以这里简要描述一下我现在拥有它们的方式:
我一直在阅读,并且在某处阅读了有关将 gridbagsizer 放在面板中并且应该可以工作的内容,因此我修改后的标题和更接近的是:
这也没有改变任何东西。我尝试将 SetSizeHints 设置为特定的分辨率,但这也不起作用。
那么,是什么导致了这个问题呢?我觉得这与我只对所有内容使用一个尺寸器有关。如果是这种情况,对我来说,无需完全重建新的尺寸器并分解内容的最简单方法是什么?
python - wxpython sizers - WX.EXPAND 对垫片有影响吗?
遵循BoxSizer 从头开始教程中的良好建议,我正在重构代码以将 wx.LEFT/RIGHT/TOP/BOTTOM 标志分解为“spacers” - 所以:
变成:
对于上述情况,我确信它们是完全等价的。但是,如果wx.EXPAND
和 一个非零比例被指定为:
这是下面的:
完全等同于上述?从视觉上看,它们看起来确实相同,但我有什么遗漏吗?换句话说,是否wx.EXPAND
影响边界,如果是,如何影响?
当然,上面的例子是微不足道的,但是在复杂的 sizer 布局中,上面的转换(如教程中所建议的那样)极大地简化了代码并使常见的 UI 模式脱颖而出,这些模式在 OR'ed 标志和数字的混乱中是完全不可读的。
编辑:将不胜感激有关添加垫片的正确方法的反馈。例如我在这里看到:
或者在我维护人们的代码中:
现在在 python 中应该有一种——最好只有一种——明显的方法——这里至少有 4 种——所以一些专家的反馈表示赞赏。