12

Tkinter Textウィジェットでカーソル位置を設定することは可能ですか? 私はまだひどく有用なものを見つけていません。

私ができる最善のことは、特定の xy 座標で<Button-1>and<ButtonRelease-1>イベントを発行することですが、これは文字量ではなくピクセル量です。

4

3 に答える 3

11

"text"、"line"、および "column" がテキスト オブジェクトの場合、目的のテキスト行と目的の列変数はそれぞれ次のとおりです。

text.mark_set("insert", "%d.%d" % (line + 1, column + 1))

行番号を気にしたくない場合は...まあ、そうしなければなりません。

完全なドキュメント: http://effbot.org/tkinterbook/text.htm

于 2010-07-09T19:00:39.400 に答える
9

カーソル位置を設定するには、最初の引数(または「定数」の場合) を使用してtext_widget.mark_setメソッドを使用し、2 番目の引数については多くの形式の 1 つを使用できます。最も便利なものは次のとおりです。"insert"Tkinter.INSERT

  • "%d,%d" % (line, column)、ここで、行は 1 から始まり、列は 0 から始まります
  • "1.0+%d chars" % index、ここで、インデックスは Python の文字列/Unicode インデックスと同様に 0 から始まります

text_widget.indexマークのインデックスを取得するには、次のメソッドを使用できます。

text_widget.index(Tkinter.INSERT)
于 2010-07-09T21:11:47.677 に答える