wxPython小部件的像素完美对齐?

时间:2019-05-18 12:38:48

标签: python user-interface alignment wxpython wxpython-phoenix

摘要:

我正在尝试在BoxSizer的底部水平对齐多个wxPython小部件,但如以下屏幕截图所示,它们仅相距一个像素:

Screenshot of the problem (not enough reputation to embed the image here)

如您所见,BitmapToggleButton的位置比TextCtrl小部件高1个像素。 wxPython inspection tool表示Button甚至高出两个像素,但是在屏幕截图中,它仅为一个。我认为这与边界计算有关,但我不知道。

如果我在下面的代码中省略了对齐标记,则小部件将对齐到中心,但是Button沿相反方向仍处于像素偏离状态。

代码:

header = wx.BoxSizer(wx.HORIZONTAL)

self.label_user = wx.StaticText(panel, label="User:")
self.input_user = wx.TextCtrl(panel)
self.edit_user = wx.BitmapToggleButton(panel, label=img_edit, style=wx.BU_EXACTFIT)

header.Add(...) # more widgets that are not bottom-aligned
header.Add(self.label_user, flag=wx.ALIGN_BOTTOM)
header.Add(5, -1)
header.Add(self.input_user, flag=wx.ALIGN_BOTTOM)
header.Add(self.lock_user, flag=wx.ALIGN_BOTTOM)

main_sizer.Add(header, flag=wx.LEFT | wx.TOP | wx.RIGHT | wx.EXPAND, border=views.constants.MARGIN)

0 个答案:

没有答案