问题标签 [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 回答
1308 浏览

c++ - wxGrid 的自动调整大小

我用 gcc 和 wxSmith 构建的 wxWidgets 程序有几个带有文本和按钮的大小调整器、一个 wxMathPlot 窗口和一个 wxGrid。当我在选择中选择某些内容时,网格会填充不同数量的信息,并在必要时增加更多行或删除不必要的行。当我从 1 行开始时,当做出选择时,仍然会显示一行,但是一旦我触摸窗口的边框来调整它的大小,所有的东西都会被调整大小。网格会增长,因此每一行都没有滚动条显示,并且绘图窗口会根据网格留下的空间大小而增大或缩小。是否有可能对这种行为进行编码,因此每次网格获得新输入时都会调用它?我试过了

在网格方法的末尾,但这不起作用。我有OnResize()如下方法:

这是我的布局(以防我尝试的某些设置创建了想要的行为)

有没有办法让窗口调整大小以便完全显示网格?


编辑:正如我在调试时发现的那样,OnResize()在实际调整窗口大小时永远不会被调用。它必须在后台完成,因为我不会对我的窗口大小做任何其他事情。


编辑 2:经过相当多的尝试后,使用UserGrid->AppendRow()网格后似乎不能很好地重新绘制。在此行之后,之前可见的滚动条会消失,并且只有在用户调整窗口大小时才会重新出现。我已经尝试过UserGrid->AdjustScrollbars()之后UserGrid->ForceRefresh()没有效果。

0 投票
1 回答
2243 浏览

python - wxPython:隐藏小部件并删除剩余空间

我想在 sizer 中隐藏一个小部件,而不是留下一个空白空间。我不想删除小部件,因为我想稍后再显示它。

有没有办法隐藏一个小部件并在它移动一个空间后让显示的小部件填充空白点?

这是一个留下空间的简单示例:

0 投票
1 回答
106 浏览

python-2.7 - 面板尺寸不会在带有菜单的框架中扩大

我在 wxpython 中创建了一个带有菜单栏的框架,并将主尺寸调整器设置为框架本身的子级,但在调整框架大小后,框架的面板保持固定大小。当移除菜单栏并将主尺寸调整器设置为面板本身时,调整大小可以完美地工作,但是将菜单添加到框架中,将主尺寸调整器设置为面板不起作用。

tl;dr - 此代码的面板大小保持固定。如何使其可调整大小?

0 投票
1 回答
690 浏览

python - wxPython:为什么我的 wx.GridBagSizer 在被告知时没有对齐我的小部件?

我正在 wxPython 中编写一个 GUI,并使用 wx.GridBagSizer 来管理布局。我希望某些小部件(如按钮和文本)在它们各自的网格框中以某种方式对齐。我认为当我将每个小部件添加到 sizer 时提供的wx.ALIGN_LEFTandwx.CENTER标志可以处理这个问题,但是正如您在下面我的 GUI 的这张图片中看到的那样......它没有做任何事情。

https://i.imgur.com/qePQ7g2.png(无法嵌入图像,因为我的声望 <10 :c)

编辑:这就是它的外观:https ://i.imgur.com/7TQ6ONe.png

这是我的代码示例,显示了我如何在 sizer 中建立所有图片中的小部件......

我希望 txtComments 居中,其他所有内容都右对齐。

如果有人知道如何解决这个问题,我将不胜感激。我的 GUI 目前看起来很乱。如果可能,还提供垂直对齐的修复,而不仅仅是水平对齐。

如果您需要有关我的实施的更多信息,请不要犹豫。感谢:D

0 投票
1 回答
419 浏览

grid-layout - wxPython - 使用 GridSizer 将小部件相互叠加

我正在学习 wxPython 并尝试使用 GridSizer,因为它是我最喜欢的处理布局的方式。除了虔诚地阅读我正在使用的类的 API 之外,我还收集了 wx wiki 和教程周围的点点滴滴,以将所有内容包装在一起。

但是,不知何故,我正在测试的小部件,两个应该在彼此之上的 ListBox,反而出现在彼此之上。
单击后,我只能看到第一个 ListBox:元素在我选择它们时弹出,TABbing 返回第一个列表。

很明显,我无意中跳过了一些东西。环顾四周,我认为问题在于我没有正确使用 Layout(),但我用所有容器对其进行了测试,但无济于事。此外,我在网上发现的问题似乎提到了调整大小以刷新窗口,但即使调整我的窗口大小,也不会发生任何有价值的事情。

最后,代码如下:

0 投票
1 回答
102 浏览

python - 无法更新 FlexGridSizer 中的 StaticText 或将其放入对话框中

我正在尝试创建一个自定义对话框,其中包含隐藏的用户和密码 TextCtrls,并替换为 FlexGridSizer 中的一些帐户信息。有一个垂直的 BoxSizer 包含一个面板和一些按钮。Panel 本身有一个垂直的 BoxSizer,其中填充了几个水平的 BoxSizer 和 FlexGridSizer。

并像这样放在一起:

FlexGridSizer 看起来像这样:

它开始看起来不错:

FGS 开始

但是当我更新静态文本时:

什么都没有更新,并且 FlexGridSizer 的底部被切断:

FGS 空

如果我添加self.infoBox.Fit(self),它看起来更糟:

FGS 合身

我在这里缺少什么来更新 StaticTexts?我已经检查了调试器并且变量具有值。它们只是没有被显示。以及如何使对话框从一开始就具有正确的大小以适应所有内容而无需调用Fit和调整大小?硬编码对话框大小是唯一的方法吗?或者有没有办法动态地做到这一点?

0 投票
1 回答
95 浏览

python - wxpython 可折叠窗格大小不一致的响应

好吧,有些奇怪,我无法弄清楚。假设我有一些类别,每个类别都有一些项目,都适合字典。

然后我想将每个类别显示为一个按钮,该按钮将该类别的所有内容也折叠或显示为按钮。

(这是我的整个示例应用程序。)我不知道为什么,但字典中的最后一个类别一切正常: 截屏 但前面的类别只能显示一个按钮/项目。
截图 2

0 投票
1 回答
545 浏览

python - wxpython:同时水平居中和右对齐两个控件

我在水平尺寸器中有两个控件。我怎样才能让其中一个对齐左(或右)而另一个居中?

如果我可以指定如何将文本控件的宽度设置为零,那就太好了。这可能会欺骗 sizer 使滑块正确居中。但是,它仍然不是一种优雅的方法。

0 投票
2 回答
37 浏览

python - 如何使 Vertical BoxSizer 中的元素靠得更近?

有没有办法强制 BoxSizer 以特定间隙显示其元素?(彼此靠近而不是更远)

我正在尝试找到一种方法将 5 个 StaticText 元素更紧密地显示在一起,以便它们适合一个小面板,但只能适合 4 个元素如果它们彼此靠近,显然有 5 个 StaticTexts 的空间 如果它们彼此靠近,显然有 5 个静态文本的空间

我想我也可以把它变成一个带有线条的静态文本,但我试图将每一行作为一个不同的对象

0 投票
1 回答
300 浏览

c++ - wxWidgets 适合 wxFlexGridSizer 中的大 wxGrid

问题

我有wxGrid很多行(> 200)放在一个wxFlexGridSizer. 问题是我在网格下方的按钮消失了。使用比例设置的wxBoxSizer作品也是如此。

结果应该看起来像 wxBoxSizer 解决方案。有没有办法wxFlexGridSizer在这种情况下使用?

wxBoxSizer(工作)

wxBoxSizer 截图

wxGridSizer(不工作)

wxFlexGridSizer 截图

我尝试AddGrowableRow用于两行,比例设置,wxEXPAND标志。

这里有一个类似的问题,但解决方案是一种解决方法:

在对话框 (wxDialog) 中拟合大网格 (wxGrid)

(截图是用 制作的wxFormBuilder v3.8.1