2009-08-17 6 views
1

ist es möglich, eine Bildlaufleiste zu einem statischen Text in wxpython hinzuzufügen?Bildlaufleiste für statischen Text in wxpython?

der Sache ist, dass ich die Schaffung dieses StaticText-:

self.staticText1 = wx.StaticText(id=wxID_FRAME1STATICTEXT1,label=u'some text here',name='staticText1', parent=self.panel1, pos=wx.Point(16, 96), 
           size=wx.Size(408, 216),style=wx.ST_NO_AUTORESIZE | wx.THICK_FRAME | wx.ALIGN_CENTRE | wx.SUNKEN_BORDER) 
    self.staticText1.SetBackgroundColour(wx.Colour(255, 255, 255)) 
    self.staticText1.SetBackgroundStyle(wx.BG_STYLE_SYSTEM) 
    self.staticText1.SetFont(wx.Font(9, wx.SWISS, wx.NORMAL, wx.BOLD, False,u'MS Shell Dlg 2')) 
    self.staticText1.SetAutoLayout(True) 
    self.staticText1.SetConstraints(LayoutAnchors(self.staticText1, False,True, True, False)) 
    self.staticText1.SetHelpText(u'') 

aber später verwende ich StaticText.SetLabel das Etikett zu ändern und der neue Text ist zu groß, um das Fenster zu passen, so muss ich hinzufügen eine Scrollbar zum StaticText- ..

habe ich versucht wx.VSCROLL den Stil hinzufügen und die Scrollbar angezeigt, aber den Rest des Textes sehen kippen nach unten scrollen ..

Antwort

4

wx.StaticText wird entwickelt, um nie zu reagieren Mausereignisse und nehmen Sie nie den Fokus des Benutzers. In Anbetracht dessen, dass dies seine Rolle im Leben ist, scheint es, dass eine Bildlaufleiste nicht mit ihrem Zweck übereinstimmt.

Es gibt zwei Möglichkeiten zu bekommen, was Sie wollen: 1) Sie eine regelmäßiges TextCtrl mit dem Stil TE_READONLY nutzen können (siehe here); oder 2) Sie könnten ein Bildlauffenster machen, das Ihre StaticText Kontrolle enthält.

+0

danke! der TextCtrl hat die Arbeit perfekt gemacht ... –