问题标签 [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.
python - wxPython:如何修复网格大小调整器一部分的大小
我想要做的是创建 3 列,将随着窗口的展开而展开。但我想对其进行限制,以便不同的列扩展到不同的最大数量。
我在这里所做的是使用 wxGlade 创建一个带有 1 行和 3 列的网格尺寸器的框架。我希望 Part1 具有固定宽度“A”,Part2 具有固定宽度“B”,Part3 能够正常扩展。
我怎么做?
wxpython - wxPython:嵌套 GridBagSizer 不跨越?
我在现有的 GridBagSizer (sizer) 中有一个 GridBagSizer (folderBagSizer)...现在我正在尝试用一些标签填充嵌套的 sizer (folderBagSizer)。他们出现在尺码器下面......?
提前致谢。:)
text - 使用 Sizer 时如何在静态框中添加项目?
我正在使用 wx.Python 并且有一组对象,我想将它们“包装”在一个类似于这样的静态框中:
但是,该教程使用 position sizes,而我使用的是 sizers 。我很难把物品放进去:
而是它们位于静态框下方。如何使用 Sizer 而不是位置将对象包含在静态框中?
这是我的代码:
wxwidgets - wxWidgets child sizer没有扩展
我有一个非常令人沮丧的尺寸问题。
我wxFlexGridSizer
在一个 vertical 中有两个 s (和其他一些东西)wxBoxSizer
,如下所示:
每个wxFlexGridSizer
都使用相同的代码填充:
但是wxFlexGridSizer
s 并没有Expand
像我打算的那样被编辑到相同的宽度。具有较小label
s 的下一个总是比上一个窄,从而使data
它们之间的字段未对齐。由于它们都添加了Expand()
标志,因此较窄的应扩展为与较宽的相同的宽度,对吗?
(我什至尝试将Right()
标志添加到较低的标志,将其添加到 时wxBoxSizer
,但它什么也没做,这真的让我感到困惑。)
任何人都可以通过指出我哪里出错来挽救我的理智吗?
编辑:据我所知,这是一个 wxWidgets 错误。该Expand
标志应该告诉垂直尺寸器中的项目将自身扩展到最大宽度。如果我错了,请有人纠正我。
python - wxPython:如何将一个面板放在另一个面板上
这是关于 wxPython 的。
我希望有 2 个面板彼此叠放:
PanelBG
应该是某种“背景”,具有自己的 GridBagSizer 和子面板、StaticTexts 等;
PanelFG
应该是“前景”面板,还有它自己的 GridBagSizer 和一些静态文本、按钮......但是一个透明的背景,在没有放置小部件PanelBG
的地方都是可见的。PanelFG
我需要两个面板都拉伸到框架的所有边,即使在调整窗口大小时,虽然从不改变倒数比例,这就是为什么我不确定是否有办法使用绝对定位。
如果您想知道,我不想使用单个 Panel 的原因是合并 2 个 GridBoxSizer 需要我在 sizer 中放置更多单元格,因为前景和背景的行和列并不总是重合,我应该将它们分成许多单元格,网格尺寸增长到数百**2。
由于我要放置在前台的内容需要经常更新和刷新,因此每次都需要重绘所有单元格,这需要 10 - 20 秒才能完成操作(已测试)。只更新前台只需要百分之一秒。
谢谢!
python - wxPython:一个子窗口的 SplitterWindow 和 SetMaxSize
我对 wxPython 很陌生,所以我希望没有什么基本的东西可以忽略:我想使用 SplitterWindow 将 Frame 的内容拆分为两个可调整大小的子窗口(A 和 B),但我想要一个窗口(B)有一个 MaxSize 集。
不幸的是,这带来了一个问题:
当我调整(放大)整个框架的大小时(我试图在这里适应 wxPython 术语;通常,我会说:调整窗口大小),我希望一旦达到窗口 B 的 maxSize,窗口 A将自动放大以填充框架的全部内容。可悲的是,事实并非如此。
如何确保我无法将窗扇向左移动(减小窗口 B 的大小)?在当前情况下,窗口 B 只是向左移动(不改变宽度)并暴露 WindowSplitter 的蓝色背景。
这是我的代码:
一张图讲一千个字: 蓝色区域是分流器的一部分,但没有被窗口 A 填满。
任何正确方向的帮助/提示表示赞赏。
谢谢,丹尼尔
python - wxpython:在sizer内的面板中居中文本
在我看来,以下代码应该在窗口中心显示文本;即在内面板的中心。然而它没有,我想知道为什么不。如果您运行代码,您会在框架中间看到一个白色面板,大小为 150 像素 x 150 像素。我根本不希望这个区域的大小发生变化,但是当我开始添加一些文本(取消注释txt
片段中间的变量)时,面板总是会缩小以适应文本。即使指定StaticText
与面板匹配的大小也不是解决方案,因为文本不会居中对齐。
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 等,但没有任何帮助。
是否有一些功能可以防止框架在正确绘制之前显示或绘制但不显示?
谢谢!
matplotlib - wx.boxsizer 中的 Matplotlib 而不是面板
我在这里读到: http ://wiki.wxpython.org/Getting%20Started#Windows_or_Frames.3F 使用 Sizer 而不是面板在框架内安排内容有好处;大小更灵活。然而,许多带有 wxpython 的 matplotlib 示例无论如何都使用面板。通常他们为情节定义一个面板。我使用 Sizer 设计了一个 GUI,并希望将我的 matplotlib 画布放入其中一个 Sizer 中,而不受面板的明显限制。有谁知道这是怎么做到的,或者我在哪里可以找到一个非常简单的例子?非常感谢,安德鲁。
wxpython - wxPython:如何从 wx.StaticText 获取 sizer?
该小部件是我制作的众多尺寸器之一,但如何获取这些小部件之一的尺寸器,例如在wx.StaticText
. 首先,我虽然 wx.StaticText 有一个方法GetSizer()
,因为它派生自wx.Window
,但它总是返回None
,有没有办法?
对不起我语言不好。
编辑 (08/23/2012) Mike Driscoll 的解决方案:
用于从一些 sizer 中获取,然后用于self.sizer.GetChildren()
从列表中获取实际的小部件SizerItemList
GetWindow()