0

Pythonpygtkのtextviewで色付きのテキストを作成するいくつかの方法を見てきました。問題は、テキストをその色で印刷するか、特定のアイテムを特定の色にするのではなく、行全体をその色にするようです。

「」と入力したところに欲しいのですが、色は青になります。または、テキストビューに「文字列」がある場合は、オレンジ色または任意の種類の文字列になります

'#comment'がある場合は、斜体で灰色になります。

それが役立つかどうかはわかりませんが、入力中にテキストをページに書き込む部分があります。この種の構文の色付けをアクティブに保つことは可能ですか?

これが理にかなっていることを願っています。

どんな助けでも大歓迎です!ありがとうございました!

4

2 に答える 2

2

GtkSourceView構文の強調表示に使用します。車輪の再発明をしないでください。

于 2013-01-08T09:31:00.980 に答える
0

一般的に、あなたが探しているのは、正規表現(reモジュール、ここにはたくさんの質問があります...おそらくあなたが必要とする正確なパターンのためのいくつか)を使用して、上記のパターンを見つけることですあなたのTextBuffer。つまり、ユーザーが何を入力したかを確認できるように、シグナルをバッファーに接続する必要があります。次に、正規表現が説明したパターンと一致するバッファの領域に適用するために、一連のTextTags(フォーマットルール/パターンごとに1つのタグ)が必要になります。最後に、タグをバッファに適用する必要があります。これらのタグは、さまざまな方法でTextTagテキスト表示を再フォーマットできます(ドキュメントに記載されているとおり)。TextView

提供されたコードがないと、問題が発生している可能性のある場所を正確に特定することは困難です。

それがあなたを正しい方向に向けることを願っています...

ただし、GTKテーマを上書きすると、別のユーザーがTextViewsにオレンジ色の背景などのテーマを設定する可能性があるため、使用しているテーマに関係なく視覚的に機能するように注意する必要があります。

于 2013-01-07T23:50:30.983 に答える