问题标签 [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 Gridsizer 不适合面板
我正在开发一个 wxpython GUI。我有三个面板(左侧两个水平拆分,右侧一个与另外两个垂直拆分——想想左半边的两个正方形和右半边的高矩形)。我正在尝试在面板 3 中安装 Gridsizer(图像中的 P3)。我似乎无法让网格面板“填充”整个面板 3。相反,它们会捕捉到顶部和底部。理想情况下,我希望 10 个小面板(2 行,5 列)调整大小并很好地填充面板 3(大小相同且大到足以看到每个面板)。我究竟做错了什么?谢谢!
**** 编辑 **** 我已将代码更改为如下所示:
我的新面板 3 如下图所示。这是一些改进。但是,我希望各个面板(总共 10 个)扩展相同的数量,以便整个笔记本页面被相同大小的较小面板覆盖(想象一下日历的样子,每天都是一个面板)。
**** 结束编辑 ****
以下是我的原始代码:
注意: self.OtherTeams
是 wx.Notebook 下的页面self.Panel3
。self.Panel_Others
是包含我正在显示的 wx.Panels 的字典(这会动态变化,所以这就是为什么我有它们的字典而不是指定它们的原因)。
wxpython - 如果在 init 中隐藏,为什么嵌套的 sizer 不会在 wxPython 中扩展?
我正在尝试构建一个 3 面板 GUI,一切都很顺利,直到我尝试将面板/窗口嵌套在其他面板中并在 GUI 启动时隐藏它们。
看到这张图片...黄色/绿色/蓝色框在初始化期间自动扩展以填充它们的面板,但是在 wx.Panel 初始化期间构建了小紫色框但随后隐藏,直到 2 秒计时器到期然后在那个时候该对象的 Show() 方法被调用。那时它不会填满包含面板。似乎在初始化期间隐藏面板会导致面板大小调整器选择默认大小 20x20。
这是代码:
我希望在 GUI 启动时隐藏此面板的原因是因为我将在该 ActionPanel 空间(绿色框)中有许多不同的面板,并且当用户单击黄色框中的树节点时,显示在将隐藏绿色框并显示不同的面板。如果我在启动时不隐藏所有面板,它们会“堆叠”在彼此之上,我将不得不设置一个计时器来通过并在 GUI 启动后的某个时间点将它们全部隐藏???这似乎很胡扯。我还能怎么做?
python - 是什么让 wxpython TextCtrl 水平填充
我有TextCtrl
一个水平的BoxSizer
。添加权重为 1(在权重为 0 的按钮旁边)。当我运行程序TextCtrl
时,无论窗口大小如何,它都会保持固定宽度,旁边有空白区域。为什么?
这是代码:
python - 无法在不阻止 wxpython 中的工具栏的情况下添加文本控件
我在这里重现了错误;
现在无论我在哪里添加此行以添加文本控件;
它出现在工具栏上。我阅读了文档并遵循了一些教程,但我仍然无法完全掌握这个概念。我怎样才能实现我想要的?我希望文本控件出现在工具栏下方并适合剩余空间。
wxpython - 在嵌套尺寸器中找到“父”尺寸器的最佳方法是什么?
在 wxpython 中,我在单个单元格中有一个 GridBagSizer、gs、一些嵌套的 sizers1
和s2
一个 button 。b
在一个EVT_BUTTON
事件中,我得到了按钮对象。要将网格中的按钮对象移动到不同的网格单元格,我需要移动顶级大小调整器 s1,它是 GridBagSizer gs 的直接“子项”(如果这是正确的术语)。找到顶级尺寸器的最佳方法是什么?
object.GetContainingSizer()
返回按钮对象的大小,s2,但我看不到如何到达 s1。我是否需要将 s1 的引用存储在我的 s2(或 b)对象中?这似乎相当不雅?
答案(到目前为止):我发现了一段代码,我不知道该归功于谁 - 似乎与 dabo 有关。它在 dGridSizer.py 中,但它做了我正在寻找的类似事情:
到目前为止,这似乎适用于我在网格中的所有情况。不确定我现在是否理解它,稍后我将不得不深入研究代码 - 现在只需要完成这项工作。
python - boxsizer 内的 wxpython 笔记本
这段代码有什么问题?我正在尝试将笔记本放在由 boxsizer 控制的面板上。我是 wxpython 的新手,无法弄清楚我做错了什么。当我运行它时,它只会在角落里弄得一团糟:(
python - 带有sizer的wxpython布局
我很难让我的 sizer 在 wxpython 中正常工作。我正在尝试在顶部做一个简单的水平条(其中包含文本)和下面的两个垂直框(带有gridsizers *左边的应该只有2列!*在每个里面)。我希望图像中的所有内容也能够拉伸并适合我的面板(能够在侧面和顶部/底部添加填充)。
我有两个主要问题: 1. 我不能让水平栏中的文本位于中间(它向左) 2. 我想将两个垂直框隔开以适当地跨越并适合页面(也将像网格也更好地跨越)。
这是我的代码(省略了一些部分):
wxpython - Nesting sizers within a box using wxPython
I wish to make horizontal rows of labels and text fields, and place the rows inside a box with a label so they are grouped nicely. However, for some reason the box only extends around the last row in the series (see image below) I would like it to group all of the rows.
Is there an easier way to make a grouped and labelled interface like this?
The code to generate the above,
python - 带有多个面板的 wxpython 大小控制
我正在尝试显示具有三个面板的全屏应用程序。屏幕应该首先分成两个垂直面板,右边的一个分成两个水平面板。就像是:
问题是我不明白,因为我对sizer有一些问题。这是我的尝试: