我正在 wxPython 中编写一个 GUI,并使用 wx.GridBagSizer 来管理布局。我希望某些小部件(如按钮和文本)在它们各自的网格框中以某种方式对齐。我认为当我将每个小部件添加到 sizer 时提供的wx.ALIGN_LEFT
andwx.CENTER
标志可以处理这个问题,但是正如您在下面我的 GUI 的这张图片中看到的那样......它没有做任何事情。
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