Hi CM,
ja es gibt auch den StaticBoxSizer... ist schon so aehnlich wie ein Fieldset, aber soweit ich weiß, gibts da keinen Titel. Vielleicht taeusche ich mich auch gerade... naja jedenfalls habe ich mal ein Fieldset aus Gerolds Vorschlag gebaut:
Code: Alles auswählen
class FieldsetPanel(wx.Panel):
def __init__(self, parent, caption=""):
self.caption = caption
wx.Panel.__init__(self, parent)
self.Bind(wx.EVT_PAINT, self.on_paint)
self.Bind(wx.EVT_SIZE, self.on_size)
def on_paint(self, event = None):
MARGIN = 10
dc = wx.PaintDC(self)
w, h = dc.GetSizeTuple()
TXTW = dc.GetTextExtent(self.caption)[0] + MARGIN
TXTH = dc.GetTextExtent(self.caption)[1]
lines = (
(MARGIN, MARGIN, 3*MARGIN, MARGIN),
(3*MARGIN+TXTW, MARGIN, w-MARGIN, MARGIN),
(MARGIN, MARGIN, MARGIN, h-MARGIN),
(w-MARGIN, MARGIN, w-MARGIN, h-MARGIN),
(MARGIN, h-MARGIN, w-MARGIN+1, h-MARGIN)
)
dc.DrawLineList(lines)
dc.DrawText(self.caption, 3*MARGIN+MARGIN/2, MARGIN-TXTH/2)
Zu verwenden ist es wie jedes andere Panel auch, bis auf den zusaetzlichen Parameter "caption" fuer die Ueberschrift.
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2