在 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)
有没有更好的办法?