当在Windows中使用带有wx.TE_RICH2选项的wx.TextCtl时,我在使用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)
有更好的方法吗?
答案 0 :(得分:0)
你很亲密。
textctrl.SetInsertionPointEnd()
textctrl.WriteText(licence)
textctrl.SetInsertionPointEnd()
答案 1 :(得分:0)
在wxpython中使用Windows丰富的编辑控件时,可以使用以下命令修复滚动错误:
textctrl.MoveEnd()
textctrl.WriteText(text)