问题标签 [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 投票
1 回答
3641 浏览

python - wxPython:如何修复网格大小调整器一部分的大小

我想要做的是创建 3 列,将随着窗口的展开而展开。但我想对其进行限制,以便不同的列扩展到不同的最大数量。

我在这里所做的是使用 wxGlade 创建一个带有 1 行和 3 列的网格尺寸器的框架。我希望 Part1 具有固定宽度“A”,Part2 具有固定宽度“B”,Part3 能够正常扩展。

我怎么做?

0 投票
1 回答
268 浏览

wxpython - wxPython:嵌套 GridBagSizer 不跨越?

我在现有的 GridBagSizer (sizer) 中有一个 GridBagSizer (folderBagSizer)...现在我正在尝试用一些标签填充嵌套的 sizer (folderBagSizer)。他们出现在尺码器下面......?

提前致谢。:)

0 投票
1 回答
6084 浏览

text - 使用 Sizer 时如何在静态框中添加项目?

我正在使用 wx.Python 并且有一组对象,我想将它们“包装”在一个类似于这样的静态框中:

在此处输入图像描述

但是,该教程使用 position sizes,而我使用的是 sizers 。我很难把物品放进去:

在此处输入图像描述

而是它们位于静态框下方。如何使用 Sizer 而不是位置将对象包含在静态框中?

这是我的代码:

0 投票
1 回答
873 浏览

wxwidgets - wxWidgets child sizer没有扩展

我有一个非常令人沮丧的尺寸问题。

wxFlexGridSizer在一个 vertical 中有两个 s (和其他一些东西)wxBoxSizer,如下所示:

每个wxFlexGridSizer都使用相同的代码填充:

但是wxFlexGridSizers 并没有Expand像我打算的那样被编辑到相同的宽度。具有较小labels 的下一个总是比上一个窄,从而使data它们之间的字段未对齐。由于它们都添加了Expand()标志,因此较窄的应扩展为与较宽的相同的宽度,对吗?

(我什至尝试将Right()标志添加到较低的标志,将其添加到 时wxBoxSizer,但它什么也没做,这真的让我感到困惑。)

任何人都可以通过指出我哪里出错来挽救我的理智吗?

编辑:据我所知,这是一个 wxWidgets 错误。该Expand标志应该告诉垂直尺寸器中的项目将自身扩展到最大宽度。如果我错了,请有人纠正我。

0 投票
2 回答
1365 浏览

python - wxPython:如何将一个面板放在另一个面板上

这是关于 wxPython 的。

我希望有 2 个面板彼此叠放:
PanelBG应该是某种“背景”,具有自己的 GridBagSizer 和子面板、StaticTexts 等;
PanelFG应该是“前景”面板,还有它自己的 GridBagSizer 和一些静态文本、按钮......但是一个透明的背景,在没有放置小部件PanelBG的地方都是可见的。PanelFG

我需要两个面板都拉伸到框架的所有边,即使在调整窗口大小时,虽然从不改变倒数比例,这就是为什么我不确定是否有办法使用绝对定位。

如果您想知道,我不想使用单个 Panel 的原因是合并 2 个 GridBoxSizer 需要我在 sizer 中放置更多单元格,因为前景和背景的行和列并不总是重合,我应该将它们分成许多单元格,网格尺寸增长到数百**2。
由于我要放置在前台的内容需要经常更新和刷新,因此每次都需要重绘所有单元格,这需要 10 - 20 秒才能完成操作(已测试)。只更新前台只需要百分之一秒。

谢谢!

0 投票
1 回答
2679 浏览

python - wxPython:一个子窗口的 SplitterWindow 和 SetMaxSize

我对 wxPython 很陌生,所以我希望没有什么基本的东西可以忽略:我想使用 SplitterWindow 将 Frame 的内容拆分为两个可调整大小的子窗口(A 和 B),但我想要一个窗口(B)有一个 MaxSize 集。

不幸的是,这带来了一个问题:

  1. 当我调整(放大)整个框架的大小时(我试图在这里适应 wxPython 术语;通常,我会说:调整窗口大小),我希望一旦达到窗口 B 的 maxSize,窗口 A将自动放大以填充框架的全部内容。可悲的是,事实并非如此。

  2. 如何确保我无法将窗扇向左移动(减小窗口 B 的大小)?在当前情况下,窗口 B 只是向左移动(不改变宽度)并暴露 WindowSplitter 的蓝色背景。

这是我的代码:

一张图讲一千个字:在此处输入图像描述 蓝色区域是分流器的一部分,但没有被窗口 A 填满。

任何正确方向的帮助/提示表示赞赏。

谢谢,丹尼尔

0 投票
1 回答
7681 浏览

python - wxpython:在sizer内的面板中居中文本

在我看来,以下代码应该在窗口中心显示文本;即在内面板的中心。然而它没有,我想知道为什么不。如果您运行代码,您会在框架中间看到一个白色面板,大小为 150 像素 x 150 像素。我根本不希望这个区域的大小发生变化,但是当我开始添加一些文本(取消注释txt片段中间的变量)时,面板总是会缩小以适应文本。即使指定StaticText与面板匹配的大小也不是解决方案,因为文本不会居中对齐。

0 投票
1 回答
216 浏览

python - wx Python框架元素在使用sizer显示后未正确显示

我正在使用 Mac OS X 10.6.8、wxPython 2.9.3.1 和 64 位 Python v2.7.2:

我的问题不是那么容易用几个关键词来描述的,这就是为什么我可能还没有找到解决方案。

我只是用一些对象创建了一个非常简单的 wx.frame 并用 sizer 排列它们。如果我然后显示框架,所有元素都会在彼此的顶部显示一秒钟。然后一切都跳到位并正确显示。

在显示我的框架之前,我尝试调用各种功能,例如 Refresh、wx.Yield、Update 等,但没有任何帮助。

是否有一些功能可以防止框架在正确绘制之前显示或绘制但不显示?

谢谢!

0 投票
1 回答
218 浏览

matplotlib - wx.boxsizer 中的 Matplotlib 而不是面板

我在这里读到: http ://wiki.wxpython.org/Getting%20Started#Windows_or_Frames.3F 使用 Sizer 而不是面板在框架内安排内容有好处;大小更灵活。然而,许多带有 wxpython 的 matplotlib 示例无论如何都使用面板。通常他们为情节定义一个面板。我使用 Sizer 设计了一个 GUI,并希望将我的 matplotlib 画布放入其中一个 Sizer 中,而不受面板的明显限制。有谁知道这是怎么做到的,或者我在哪里可以找到一个非常简单的例子?非常感谢,安德鲁。

0 投票
1 回答
2079 浏览

wxpython - wxPython:如何从 wx.StaticText 获取 sizer?

该小部件是我制作的众多尺寸器之一,但如何获取这些小部件之一的尺寸器,例如在wx.StaticText. 首先,我虽然 wx.StaticText 有一个方法GetSizer(),因为它派生自wx.Window,但它总是返回None,有没有办法?

对不起我语言不好。

编辑 (08/23/2012) Mike Driscoll 的解决方案:

用于从一些 sizer 中获取,然后用于self.sizer.GetChildren()从列表中获取实际的小部件SizerItemListGetWindow()