問題タブ [qplaintextedit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
527 参照

qt - 現在のドキュメント レイアウトに対する QTextBlock のオフセットを取得する方法は?

(0, 0)テキスト ブロックが与えられた場合、現在のドキュメント レイアウトの座標に対するオフセットを特定する方法はありますか?

たとえばQPlainTextEdit、次の内容の があるとします。

各行の高さが の場合、17px行 2 のオフセットを取得するにはどうすればよいですか? ライン 1 が上にあるので0px、ライン 2 は上から、ライン 2 は上17pxからのはずです。

さまざまな機能を試しましたが、どれも情報を持っていないようです:

これらの方法はどれも機能していないようです。

0 投票する
2 に答える
9094 参照

qt - QPlainTextEditを上にスクロールするには?

テキストを入力した後、QPlainTextEdit ウィジェットで自動的に一番上までスクロールしたいと思います。どうすればそれを理解できますか?

0 投票する
1 に答える
1535 参照

c++ - QTableView で QPlainTextEdit デリゲートの高さを設定する

私はここでプロジェクトに取り組んでいますが、現在、次の問題に悩まされています。「説明」という列を持つ QTableView に関するもので、この列のセルには QPlainTextEditDelegate が含まれています。入力するたびに QPlainTextEdit の高さを設定できません。現在、QTableView の行 (その時点でアクティブな行) を大きくドラッグするまで、QLineEdit のように動作します。

私がやりたいのは、入力したらQPlainTextEditの高さを変更することです。あなたの提案は何ですか?どうすればこのことを成し遂げることができますか?

よろしくお願いします!

ところで、私の下手な英語でごめんなさい:/

編集:

私はそれを解決しましたが、sizeHint なしで updateEditorGeometry を使用しました:

void updateEditorGeometry( QWidget* editor, const QStyleOptionViewItem & option, const QModelIndex & index ) const;

そして、このメソッド内で、必要に応じて幅または高さを設定できます

editor->setGeometry(option.rect.x(),option.rect.y(),<your_width>,<your_height>);

でもとにかくありがとう!

0 投票する
2 に答える
3657 参照

qt - Qtでテキストファイルを読み書きする方法は?

フォームに QPlainTextEdit があり、プロジェクトのその他のファイルに配置されている Resource.txt ドキュメント全体を読みたいと思っています。タイマーが作動した後、アプリケーションで QPlainTextEdit の内容をドキュメントに保存します。ばかげた質問であることはわかっていますが、解決策が見つかりません。

0 投票する
1 に答える
570 参照

c++ - QPlainTextEditでQTextBlockへのポインターを取得します

QMapオブジェクトに2つのポインターをマップして、それらの関係を格納したいと思います。キーポインタはQTextBlockを指し、値ポインタはウィジェットを指します。目的は、QPlainTextEditの何かが変更されたときに、QPlainTextEditのQTextBlockの位置に関連するウィジェットの位置を更新することです。QTextBlockが破棄されると、ウィジェットは破棄されます。

ただし、QPlainTextEditでのQTextBlockの動作についてはよく知りません。firstVisibleBlock()メソッドはQPlainTextEditのQTextBlockへのポインターを返さないようですが、パラメーターとしてQPlainTextEditのQTextBlockを使用して新しいQTextBlockを作成します。

ポインタの背後にあるオブジェクトの属性をEnter/Returnキーを押して、QPlainTextEditに新しい行(QTextBlocks)を追加すると、意図したとおりに変更されるため、これは機能しているようです。つまり、関連するブロックの前に行を挿入すると、blockNumberが増加し、ジオメトリ/位置が変更されます。

しかし、関連する行(backspace / del)を削除しても、ポインターはQPlainTextEditのQTextBlockを指します-方法や理由はわかりません。ポインタ値でisValid()メソッドを呼び出すと、trueが返されます。

では、なぜ属性が新しいQTextBlockオブジェクトに変わるのでしょうか。QPlainTextEditでQTextBlockへの直接ポインターまたは参照を取得する方法はありますか?

0 投票する
1 に答える
1648 参照

c++ - QPlainTextEdit で HTML に保存

Qt C++ フレームワークを使用してテキスト エディターを作成しています。ユーザーがドキュメントを書き出す中央ウィジェットとして QPlainTextEdit を使用しています。テキストは、太字、斜体、および色付きにすることができます。

save メソッドの記述に関しては問題があります。フォーマットを保存したいのですが、見つかったのは toPlainText() 関数だけです。これは、明らかにすべてのフォーマットが失われていることを意味します。フォーマットを保存するにはどうすればよいですか?

質問が明確でない場合に備えて、保存機能のコードを添付しました。

0 投票する
2 に答える
2531 参照

qt - QPlainTextEditオブジェクトでの整数と浮動小数点数の表示

QPlainTextEditオブジェクトに数値を表示したい。私はこの目的のために以下のコードを使用します。

新しいQStringオブジェクトを定義せずに、QPlainTextEditで整数と浮動小数点数を表示する他の方法はありますか。

ありがとう。

0 投票する
1 に答える
19530 参照

qt - QTabWidget でタブのウィジェットにアクセスする

QTabWidget各タブにはウィジェットQPlainTextEditとして があります。では、各タブ ウィジェットにアクセスするにはどうすればよいでしょうか。そのウィジェットを編集するにはどうすればよいですか?

0 投票する
1 に答える
576 参照

qt - QTextBrowser の行へのリンク

高度な検索システムを作ろうとしています。私がやろうとしているのは、検索している文字列の行を QTextBrowser に表示してクリック可能にすることです。クリックすると、その行にリダイレクトされます。

これはどのように可能でしょうか?

0 投票する
1 に答える
1567 参照

qt - QSyntaxHighlighter でテキストを非表示にする

問題:タグを追加したテキスト用のテキスト編集ウィジェットを実装したいと考えています。ユーザーの気を散らさないように、場合によってはタグを非表示にしたいと思います。

環境:私はPyQtと を使用QPlainTextWidgetしてQSyntaxHighlighterいます。

アプローチ:自分の要件に一致する文字列をQSyntaxHighlighter設定できます。サイズ、色などのすべてのフォント プロパティが表示されますが、テキストを非表示にしたり、サイズをゼロにするオプションが見つかりませんでした。QTextCharFormatQTextCharFormat

タグを削除したり置き換えたりしたくありません。これにより、より多くのコードが導入されるためです (コピーにはタグを含める必要がありQSyntaxHighlighter、タグに従って残りのテキストをフォーマットするために使用することはできません)。

更新:これまでのところ、醜いハックを見つけました。QTextFormat::FontLetterSpacingを小さな値に設定することにより、テキストが消費するスペースがますます少なくなります。透明色と組み合わせることで、テキストは見えないようなものになります。

問題:私のテストでは、文字間隔が 0.016 % までしか機能しませんでした。間隔の下は 100% にリセットされます。