2010-05-16 45 views
0

当在窗口中使用wx.TextCtl和wx.TE_RICH2选项时,使用AppendText函数时会出现自动滚动的奇怪错误。它滚动以便所有文本都在可见区域之上,这不是非常有用的行为。在wxpython中使用Windows富编辑控件时,如何解决滚动问题?

我试着在添加文本后添加一个对ScrollLines(-1)的调用 - 它将它滚动到正确的位置 - 但这会导致窗口在自动滚动时闪烁。所以我正在寻找另一种自动滚动到底部的方法。

到目前为止,我的解决办法是绕过AppendText通过功能自动滚动和实现我自己的,就像这样:

def append_text(textctrl, text): 
    before_number_of_lines = textctrl.GetNumberOfLines() 

    textctrl.SetInsertionPointEnd() 
    textctrl.WriteText(text) 

    after_number_of_lines = textctrl.GetNumberOfLines() 
    textctrl.ScrollLines(before_number_of_lines - after_number_of_lines + 1) 

有没有更好的办法?

回答

0

你很近。

textctrl.SetInsertionPointEnd() 
    textctrl.WriteText(licence) 
    textctrl.SetInsertionPointEnd() 
相关问题