【发布时间】:2013-12-03 20:15:33
【问题描述】:
我正在使用一个 Flexgridsizer,其中包含静态文本和按钮的混合。我的 flexgridsizer 包含 1 列永远不会更改的静态文本,3 列不断更新(有时是十分之一秒),最后一列的所有按钮都保持不变——我大约有 12 行。
当我在我的代码上按“开始”时,三个静态文本列会不断更新。我通过 self.text1.SetLabel('newtext') 做到这一点。这很好用。但是,我最初设置了 gridsizer,因此静态文本居中。因此,当我运行代码时,在更新每个单元格后,我运行 self.panel.Layout()。这有助于让我的列再次居中。
这样做的问题是,由于我做了很多更新,它导致我在最后一列中的按钮看起来像是在左右移动(因为它似乎正在重置按钮的布局)。我希望按钮“保持静止”。为了解决这个问题,我删除了 self.panel.Layout() 但这现在使我的所有文本都是右对齐的。
有没有办法将 Layout() 应用到 gridsizer 的特定列?如果可能的话,我真的需要保留 gridsizer。我也看到了“noautoresize”,但我的一个专栏在每次更新时都会遇到不同长度的文本。
有什么想法吗?谢谢!
【问题讨论】:
标签: python text grid wxpython alignment