2011-02-07 10 views
0

ユーザーがTextViewにテキストを入力できるようにするGUIを構築していますが、テキストの各行を70文字以下に制限する必要があります。pygtk gtk.TextViewの行の長さを制限する方法

python + pygtkを使用しています。

ヒントをお待ちしています。

答えて

0

insert-text signal of GtkTextBufferを使用して余分な文字を削除することができます。

Cのサンプルコード: http://www.gtkforums.com/about1012.html

+1

Cコードは、私が理解することができますよりも少しある、しかし、textbufferのAPIを見て、私は)(私はget_end_iterを使用できることを見出したget_chars_in_line()条件に私が回線ごとの制限を超えているかどうかを調べる。あなたが提案したイベントのすべて。問題は今、単にテキストを切り捨てるのではなく、テキストを切り詰めることです。私は1行に70文字を超えないように単語ラップしたいと思います。 –

+1

必要なものだけをラッピングする場合は、TextViewのコンテナの幅を設定し、[gtk.TextView.set_wrap_mode(wrap_mode)]を使用します(http://www.pygtk.org/docs/pygtk/class-gtktextview .html#method-gtktextview -set-wrap-mode)を使用して、 タイプのラッピングを有効にします。 70文字の制限が重要な場合、私が知る限り、ある種のコールバック関数をコード化する必要があります。 [テキストバッファに関するチュートリアル](http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TextBuffers.html)を読むことで、特定の場所でテキストバッファからテキストを操作する方法に関する情報を見つけることができます。これが何らかの形で役立つことを願っています。 – Eddie

関連する問題