繁体   English   中英

wxPython:为什么告诉我的wx.GridBagSizer不对齐我的小部件?

[英]wxPython: Why is my wx.GridBagSizer not aligning my widgets when told to?

我正在用wxPython编写GUI,并使用wx.GridBagSizer管理布局。 我希望某些小部件(如按钮和文本)在其各自的网格框中以某种方式对齐。 我以为将每个小部件添加到sizer时提供的wx.ALIGN_LEFTwx.CENTER标志将处理此问题,但是正如您在下面的图形用户界面图像中所看到的那样……它什么也没做。

https://i.imgur.com/qePQ7g2.png (因为我的<10声誉而无法嵌入图像:c)

编辑:这应该是这样: https : //i.imgur.com/7TQ6ONe.png

这是我的代码示例,显示了如何在sizer中建立所有图示的小部件...

我希望txtComments居中,所有其他内容都右对齐。

    sizer = wx.GridBagSizer(0, 0)

    sizer.Add(self.txtProblemName, pos = (7, 0), span = (1, 2), flag = wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border = 5)
    sizer.Add(self.txtNumberOfNodes, pos = (8, 0), span = (1, 2), flag = wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border = 5)
    sizer.Add(self.txtRouteLength, pos = (9, 0), span = (1, 2), flag = wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border = 5)
    sizer.Add(self.txtRuntime, pos = (10, 0), span = (1, 2), flag = wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border = 5)
    sizer.Add(self.txtCreationDate, pos = (11, 0), span = (1, 2), flag = wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border = 5)
    sizer.Add(self.txtAuthor, pos = (12, 0), span = (1, 2), flag = wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border = 5)
    sizer.Add(self.txtComments, pos = (7, 4), span = (1, 2), flag = wx.EXPAND | wx.ALL | wx.CENTER, border = 0)

    self.SetSizerAndFit(sizer)

如果有人知道如何解决此问题,我将不胜感激。 我的GUI当前看起来像一团糟。 如果可能的话,还提供垂直对齐的修正,而不仅仅是水平对齐。

如果您需要有关我的实施的更多信息,请随时询问。 感谢:D

尝试删除静态文本项的wx.EXPAND标志。 该标志告诉sizer扩大项目的大小,以便它填充sizer给项目的空间。 如果它填满了空间,则没有空间可以移动对齐标记。

另外,如果您还不熟悉它,则应该了解Widget Inspection Tool 它对于诊断尺寸调整器布局问题非常方便,并为您提供了一种可视化尺寸调整器以及如何将其中的项目放置在其分配空间中的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM