2

次のようなテキストのPythonで行を数えます:

count = 0
for ch in text:
    if( ch == "\n" ):
        count += 1
return count

同じテキストが textBox コントロールに入ります。最後の行までスクロールしたいのですが、textBox が長い行をラップして 2 行以上にするため、行数は役に立ちません。
までスクロールして最後の行に移動できます-1が、それ以上上にスクロールできません。任意の位置にスクロールできるように、(実際の) 最大行数を知る必要があります。

lastLine = self.count_lines( text )
self.getControl( 100 ).setText( text )
self.getControl( 100 ).scroll( lastLine )
4

1 に答える 1

1

長い行は 2 行以上に分かれているとおっしゃいましたよね?

この方法で行を数えることができます

count=0
for a in string.split():
    count+= 1+a//MaxLen

ここで、string は処理するテキスト、MaxLen はテキスト ボックスが 1 行に表示できる最大文字数です。

しかし、MaxLen を取得する方法がわからない場合、これは問題を解決しません。実際にはわかりません...

于 2013-03-31T22:45:24.450 に答える