2009-08-17 8 views
1

est possible d'ajouter une barre de défilement à un statictext dans wxpython?barre de défilement pour statictext dans wxpython?

la chose est que je crée ce 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'') 

mais plus tard j'utiliser StaticText.SetLabel pour changer l'étiquette et le nouveau texte est trop grand pour adapter à la fenêtre, donc je besoin d'ajouter une barre de défilement au StaticText ..

i essayé d'ajouter wx.VSCROLL au style, et la barre de défilement apparais mais ne peux pas faire défiler vers le bas pour voir le reste du texte ..

Répondre

4

wx.StaticText est conçu pour ne jamais répondre à événements de souris et ne jamais prendre l'accent sur l'utilisateur. Étant donné que c'est son rôle dans la vie, il semble qu'une barre de défilement serait incompatible avec son but.

Il y a deux façons d'obtenir ce que vous voulez: 1) Vous pouvez utiliser un TextCtrl régulier avec le style TE_READONLY (voir here); ou 2) vous pourriez faire une fenêtre déroulante qui contient votre contrôle StaticText.

+0

merci! le TextCtrl a fait le travail parfaitement ... –

Questions connexes