我不知道如何(而不是使用GridBoxSizer)可以對齊元件面板上,這樣我有元件之間相等的水平間距?現在,我想出了這個:上的wxPython的BoxSizer對齊GUI元素 - 等於間距
label1 = wx.StaticText(self, label="Emails Database File:")
label2 = wx.StaticText(self, label="Email Start Number")
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(label1, 0, wx.ALL | wx.LEFT, 5)
sizer.Add(wx.StaticText(self, size=(20, 15)), 0, wx.ALL | wx.LEFT, 5)
sizer.Add(self.txtcontrol1, 1, wx.ALL | wx.LEFT, 5)
sizer.Add(self.chooseFileButton, 0, wx.ALL | wx.LEFT, 5)
mainSizer.Add(sizer, 0, wx.ALL | wx.EXPAND, 5)
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(label2, 0, wx.ALL | wx.LEFT, 5)
sizer.Add(wx.StaticText(self, size=(25, 15)), 0, wx.ALL | wx.LEFT, 5)
sizer.Add(self.spin, 1, wx.ALL | wx.LEFT, 5)
sizer.Add(self.button, 0, wx.ALL | wx.LEFT, 5)
mainSizer.Add(sizer, 0, wx.ALL | wx.EXPAND, 5)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.infoLabel, 0, wx.ALL | wx.LEFT, 5)
mainSizer.Add(sizer, 0, wx.ALL | wx.EXPAND, 5)
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(self.infoText, 1, wx.ALL | wx.LEFT, 5)
mainSizer.Add(sizer, 0, wx.ALL | wx.EXPAND, 5)
sizer = wx.BoxSizer(wx.HORIZONTAL)
sizer.Add(self.progressBar, 1, wx.ALL | wx.LEFT, 5)
mainSizer.Add(sizer, 0, wx.ALL | wx.EXPAND, 5)
self.SetSizer(mainSizer)
它看起來不錯的Kubuntu的KDE的,但空間是不是薄荷XFCE和Windows(所有版本)相等。所以我想知道,我該怎麼做才能讓我的元素在每個操作系統上看起來完全一樣?
我可以以某種方式(如何?)計算的水平間距的大小爲每個操作系統上的平等?
上的Kubuntu它看起來很棒:http://s13.postimg.org/b9340sxbb/kubuntu.png
在Windows上,沒有那麼大的都...:http://s23.postimg.org/4et87799n/win.png
當然,我可以爲不同的操作系統版本的準備,但我想使其自動適合