在wxPython GridSizer中替换项目
我有一个 wx.Frame
,里面有一个 wx.GridSizer
。这个网格里放了几个自定义的 wx.Panel
。我想把网格里两个单元格的内容互换一下。我尝试了很多方法,比如用 Detach
、GetItem
和 Insert
,但是都没成功。
举个例子,我有一个 3x3 的网格,里面有 8 个元素(我的自定义面板),编号从 0 到 7。在这种情况下,网格的最后一个单元格是空的。我想把最后一个项目(grid[7])移动到最后一个单元格(grid[8])。
我该怎么做呢?如果最后一个单元格不是空的,情况又会有什么不同呢?
1 个回答
2
'panelInGrid7' 是你在 grid[7] 中的一个面板实例,在 gridBagSizer 的位置中,它位于 (2, 1) 这个坐标。
sizer.Detach(panelInGrid7)
sizer.Add(panelInGrid7, (2,3))
如果 (2, 3) 这个位置不为空,你也需要把那个项目移开,然后再把它放到你想要的位置。