我举了一个我想实现的小例子,它是一个StaticBoxSizer,它具有可以设置的固定边框宽度。下面的示例显示了几个staticbox对象,但是,如何调整它们的边框宽度/厚度?
任何其他上胶机可以做同样的工作吗?即在孩子周围提供宽度可调节的边框?
import wx
class mypanel(wx.Panel):
def __init__ (self, parent):
wx.Panel.__init__(self, parent, size=(-1, -1))
mysizer4 = wx.BoxSizer(orient=wx.HORIZONTAL)
box1 = wx.StaticBox(self, size=(-1,-1), style=wx.SUNKEN_BORDER)
box2 = wx.StaticBox(self, size=(-1,-1), style=wx.SUNKEN_BORDER)
box3 = wx.StaticBox(self, size=(-1,-1), style=wx.SUNKEN_BORDER)
mysizer = wx.StaticBoxSizer(box1, orient=wx.HORIZONTAL)
mysizer2 = wx.StaticBoxSizer(box2, orient=wx.VERTICAL)
mysizer3 = wx.StaticBoxSizer(box3, orient=wx.HORIZONTAL)
mybutton = wx.Button(self, size=(-1,-1), label="hello")
mybutton2 = wx.Button(self, size=(-1,-1), label="hello")
mybutton3 = wx.Button(self, size=(-1,-1), label="hello")
mytext1 = wx.StaticText(self, label="hello")
mytext2 = wx.StaticText(self, label="bye")
mytext3 = wx.StaticText(self, label="hello")
mytext4 = wx.StaticText(self, label="bye")
mytext5 = wx.StaticText(self, label="hello")
mytext6 = wx.StaticText(self, label="bye")
mysizer.Add(mybutton, flag=wx.EXPAND)
mysizer.Add(mytext1, flag=wx.EXPAND)
mysizer.Add(mytext2, flag=wx.EXPAND)
mysizer2.Add(mybutton2, flag=wx.EXPAND)
mysizer2.Add(mytext3, flag=wx.EXPAND)
mysizer2.Add(mytext4, flag=wx.EXPAND)
mysizer3.Add(mybutton3, flag=wx.EXPAND)
mysizer3.Add(mytext5, flag=wx.EXPAND)
mysizer3.Add(mytext6, flag=wx.EXPAND)
mysizer4.Add(mysizer)
mysizer4.Add(mysizer2)
mysizer4.Add(mysizer3)
self.SetSizer(mysizer4)
class myframe(wx.Frame):
def __init__(self):
"Constructor. No arguments"
wx.Frame.__init__(self, None, size=(-1,-1))
sizer = wx.BoxSizer(orient=wx.HORIZONTAL)
mydiag = mypanel(self)
sizer.Add(mydiag)
self.SetSizer(sizer)
if __name__ == "__main__":
app = wx.App()
region = myframe()
region.Show()
app.MainLoop()
尺寸调整器并不真正支持显示边框。您碰巧找到了唯一的一个,但是据我所知,该小部件的配置选项非常有限。我已经看到了wxPython随附的Widget Inspection Tool中完成的边框突出显示示例。
您可以在Wiki上阅读有关内容。您应该查看它的来源以弄清楚它是如何完成的。
或者,您可能会发现以下线程有用:
它提供了一种解决方法,其中您可以使用具有背景颜色的面板而不是尺寸调整器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句