使用wxPython绘制网格矩形容器或盒子
所有,我想画一个矩形或一个里面有20个槽的容器。它就像一个 CD 容器或档案,有一个空插槽可以插入 CD 或书籍。我选择wxPython。 对于这 20 个水平空槽,我看到有 wx.BoxSizer(wx.Horizonal) 或其他 sizer 来进行布局。
我的问题是,wx.BoxSizer 生成的空间是否可以有“可见边框和灰色背景”(代表空槽)?在我看来,这是不可能的。 sizer 似乎只是进行布局,而不是生成可见的子窗口。
如果不可能,我想我需要为这个“边框和彩色背景”功能创建一个槽窗口类,并创建20个槽窗口对象并添加到sizer中。然后,我必须使用创建另一个窗口类来表示书籍或 CD,并将该 CD 窗口插入到插槽窗口中。
这听起来有点尴尬。我不知道槽窗口是否有必要,或者wx.sizer(或其他sizer)是否可以达到与槽窗口相同的效果。
all, I want to draw a rectangular or a container with 20 slots inside. it is like a cd container or archive, with empty slot to insert the cd or book. I choose wxPython.
for this 20 horizontal empty slots, i see there is wx.BoxSizer(wx.Horizonal) or other sizers to make the layout.
my question is, Is it possible to have "visible border and grey background" (to represent the empty slots) for the spaces generated by the wx.BoxSizer? It seems to me that, it is not possible. The sizer seems only to do layout, instead of generating visible subwindow.
If it is not possible, I think I need to create a slot window class for this "border and colorful background" feature, and create 20 slot window objects and add into the sizer. Then, I have to use create another window class to represent the book or CD, and insert this CD window to the slot window.
This sounds a bit awkard. I do not know if slot window is necessary or maybe wx.sizer (or other sizer) could achieve the same effect as the slot window.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我将为每个“槽”创建一个 wx.Panel 的子类,然后使用网格或框大小调整器来管理它们。
I would create a subclass of wx.Panel for each "slot", then manage them with a grid or box sizer.