在wxpython中使用Windows富编辑控件时,如何修复滚动错误?

在wxpython中使用Windows富编辑控件时,如何修复滚动错误?,python,user-interface,wxpython,wxwidgets,textctrl,Python,User Interface,Wxpython,Wxwidgets,Textctrl,在windows中将wx.TextCtl与wx.TE_RICH2选项一起使用时,我在使用AppendText函数时遇到了自动滚动的奇怪错误。它会滚动,使所有文本都位于可见区域上方,这不是非常有用的行为 我尝试在添加文本后添加一个对ScrollLines(-1)的调用,这会将文本滚动到正确的位置,但这会导致自动滚动时窗口闪烁。所以我在寻找另一种自动滚动到底部的方法 到目前为止,我的解决方案是绕过AppendText函数自动滚动并实现我自己的功能,如下所示: def append_text(text

在windows中将wx.TextCtl与wx.TE_RICH2选项一起使用时,我在使用AppendText函数时遇到了自动滚动的奇怪错误。它会滚动,使所有文本都位于可见区域上方,这不是非常有用的行为

我尝试在添加文本后添加一个对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)
有更好的办法吗?

你很接近了

    textctrl.SetInsertionPointEnd()
    textctrl.WriteText(licence)
    textctrl.SetInsertionPointEnd()

在wxpython中使用Windows富编辑控件时,可以使用以下方法修复滚动错误:

textctrl.MoveEnd()
textctrl.WriteText(text)

虽然此代码可以回答问题,但最好解释如何解决问题,并提供代码作为示例或参考。只有代码的答案可能会令人困惑,并且缺乏上下文。