полоса прокрутки для статического текста в wxpython?

Можно ли добавить полосу прокрутки к статическому тексту в wxpython?

дело в том, что я создаю этот статический текст:

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'')

но позже я использую StaticText.SetLabel, чтобы изменить метку, и новый текст слишком велик, чтобы соответствовать окну, поэтому мне нужно добавить полосу прокрутки к статическому тексту.

я попытался добавить wx.VSCROLL в стиль, и полоса прокрутки отображается, но не может прокрутить вниз, чтобы увидеть остальную часть текста.


person Community    schedule 17.08.2009    source источник


Ответы (1)


wx.StaticText спроектирован так, чтобы никогда не реагировать на события мыши и никогда не отвлекать внимание пользователя. Учитывая, что это его роль в жизни, кажется, что полоса прокрутки несовместима со своим назначением.

Есть два способа получить то, что вы хотите: 1) Вы можете использовать обычный TextCtrl со стилем TE_READONLY (см. здесь); или 2) вы можете создать окно с прокруткой, содержащее элемент управления StaticText.

person tom10    schedule 18.08.2009