0

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)

もっと良い方法はありますか?

4

2 に答える 2

0

あなたは近くにいます。

    textctrl.SetInsertionPointEnd()
    textctrl.WriteText(licence)
    textctrl.SetInsertionPointEnd()
于 2010-05-20T20:45:17.697 に答える
0

wxpythonでWindowsリッチエディットコントロールを使用する場合、以下を使用してスクロールのバグを修正できます。

textctrl.MoveEnd()
textctrl.WriteText(text)
于 2018-09-01T12:46:49.837 に答える