【问题标题】:use wxPython to draw a grided rectangular container or box使用 wxPython 绘制网格矩形容器或盒子
【发布时间】:2010-09-29 15:58:51
【问题描述】:

所有,我想画一个长方形或一个里面有 20 个槽的容器。它就像一个 cd 容器或存档,带有用于插入 cd 或书籍的空槽。我选择 wxPython。 对于这 20 个水平空槽,我看到有 wx.BoxSizer(wx.Horizo​​nal) 或其他尺寸器来进行布局。

我的问题是,wx.BoxSizer 生成的空间是否可以有“可见边框和灰色背景”(代表空槽)?在我看来,这是不可能的。 sizer 似乎只做布局,而不是生成可见的子窗口。

如果不可能的话,我想我需要为这个“边框和彩色背景”功能创建一个插槽窗口类,并创建20个插槽窗口对象并添加到sizer中。然后,我必须使用创建另一个窗口类来表示书或 CD,并将这个 CD 窗口插入到插槽窗口中。

这听起来有点尴尬。我不知道槽窗口是否是必要的,或者 wx.sizer (或其他大小)可以达到与槽窗口相同的效果。

【问题讨论】:

  • "sizer 似乎只做布局,而不是生成可见的子窗口。" - 这是真的。 sizer 是不可见的。

标签: wxpython window sizer


【解决方案1】:

我会为每个“槽”创建一个 wx.Panel 的子类,然后使用网格或框尺寸器管理它们。

【讨论】:

  • 所以你的意思是,要构建这种 gui,我们不能避免使用这个“插槽窗口”(你建议从 wx.Panel 派生)。我说的对吗?
  • 您可以避免它,但是要显示边框,您需要一个小部件,并且尺寸大小不是小部件,因此它们没有边框。但是,如果您有一些代表一本书或 cd 的小部件,请让该小部件绘制一个边框,在这种情况下,它不需要位于面板内。
  • 我明白了。谢谢布莱恩,我不知道“sizer 不是小部件”这一事实。我需要插槽的可见边框,因为用户需要知道要插入哪个插槽。没有边框,这将是一个空白的广泛空间,用户不知道在哪里插入。这对我的情况是不可接受的。那么,是否可以使用这个派生的 wx.Panel 窗口进一步插入/附加窗口对象或更改背景颜色(以显示插入的 cd)?非常感谢您的建议。
  • 是的,您可以更改面板的背景颜色,还可以在其中插入其他小部件。
  • 嗨,布莱恩,或其他人,我还有一个问题。如果我为插槽窗口子类化 wxpanel,那么包含所有这 20 个插槽窗口的容器窗口呢?我还能使用 wxpanel 吗?由于我仍然有主应用程序窗口,我想我应该使用 wxFrame。我不知道是否可以将wxPanel(插槽窗口)放入wxPanel(大容器窗口)中,然后将wxpanel(大容器窗口)放入wxFrame(主应用程序窗口)中。有可能或正确的方法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多