私は現在、Qt4を使った作業のためのアプリケーションを開発している学生プログラマーです。私は方程式エディタを構築しており、私のQTextEditフィールド内の文字列を強調表示しようとしている問題があります。私はQTextEdit文字列を解析し、エラーのある場所の開始と終了の整数を返す関数を持っています。私の元の戦略は、エラーを強調するために、この2つのポイントでHTMLタグを使用することでした。残念ながら、htmlタグ付けと方程式の構文に問題があるようです。QTextEdit内の文字列をハイライトする方法
私が必要と思うのは、これらの2つのインデックスの間に背景色を設定するためにQtのライブラリに依存する戦略です。私はQSyntaxHighlighterを探し始めました。しかし、これはあらかじめ定義された法則を使用して強調表示し、背景色を設定するだけではなく、&bの間のものをつかむためではないと思います。私が構文ハイライトを使用できるのであれば、私はすでにドキュメントを読んで何も見つけられていないので、私に例とリファレンスを提供してください。
事前にお問い合わせいただきありがとうございます。
P.S.ちょうどhtmlの互換性の問題を強調するために;複数の<と>記号が使用されるため、htmlに問題が発生します。
これは私が最終的に回してしまったものです。..この答えの問題は、私が後で戻ってデフォルトの色にテキストを設定することはできません表示されていることです。私がやり遂げたのは、バックグラウンドの色の変化を傷つけ、エラーの起こりやすい特定のセグメントを、マウスが別の場所にクリックされるまで単に選択されたテキストに設定することです。私は明らかに赤で問題を強調していませんが、この解決策は私が必要としたことでした。方程式チェックのより直感的な手段に必要なテキストを強調表示します。 –
デフォルトの背景色を設定するのと同じ方法です。前に選択したテキストの位置を保存するだけです。 – hank
残念ながら、これは、テキスト編集フィールドから放出されるトリガーに依存しているため、実現不可能です。ユーザーがボックスにクリックすると、強調表示が消えてしまいます。この信号が発行されるたびにカーソルをリセットすると、ユーザーはテキストを右クリックして選択する能力を失います。あなたがそのための道を知らないなら、その大丈夫です。私はちょうど私が頼むと思った。 –