2009-08-17 3 views
1

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

дело в том, что я создаю этот 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'') 

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

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

ответ

4

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

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

+0

спасибо! TextCtrl отлично справился с работой ... – 2009-08-18 08:09:47

Смежные вопросы