問題タブ [qtextdocument]

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 に答える
2756 参照

c++ - QTextEdit のカスタム テキスト (コード) エリア

コード領域のように動作するテキスト オブジェクト タイプ ( QTextObjectInterfaceを継承) を作成することに興味があります。

  • 特徴的な背景
  • 国境
  • 等幅フォント
  • 編集可能なコンテンツ
  • インスタンス内のコンテンツを抽出できるように、インスタンスをコードで識別できるようにする必要があります (周囲のコンテンツからコードを分離する)。
  • 保存/読み込み (通常の html ファイルから)
  • 構文の強調表示はプラスになりますが、実際には必須ではありません

ドキュメントの他の領域は、通常の方法で動作する必要があります (編集可能なフォント プロパティ、編集可能な色など)。


Qt は、 QTextEditでカスタム テキスト オブジェクトを実装する例を提供します。新しいテキスト オブジェクトは QTextEdit / QTextDocument内の既存のインフラストラクチャを利用できないため、これは難しい方法のように見えます。

QTextObject

QTextDocumentのパーツをグループ化できるさまざまな種類のオブジェクトの基本クラス

それを継承することは選択肢かもしれませんが、Qt SDK パッケージのソース ファイルも Google 検索も有用な情報を明らかにしませんでした。

QTextFrameはQTextObjectを継承しているため、このパスに関するヒントが見つかれば、実行可能な基本クラスになる可能性があります。


単純な HTML ファイルでは、これらすべて (構文の強調表示を除く) は簡単です。QTextEditは html を入力として受け取り、html をエクスポートできますが、その過程で構造が失われます。

ちなみに、 QWebViewは読み取り専用です。次のように宣伝しています。

HTML ドキュメントの一部は、たとえば HTML 要素の contenteditable 属性を介して編集可能にすることができます。


これがすぐに利用できるプラットフォームは他にもあるかもしれませんが、テキスト エディターはプラグインとして Qt Creator 内で使用する必要があるため、Qt フレームワークを使用することは理にかなっています。

結論: QTextEditウィジェットにコード領域を実装するにはどうすればよいでしょうか?


その後の編集:

  • トランクから Qt sdk を使用 (自身を 4.8.4 として識別)
  • トランクからの Qt Creator (Qt Creator 2.6.81)
0 投票する
1 に答える
310 参照

qt - Qt(PySide)マルチラインQSyntaxHighlighter

マルチラインブロックQTextEditにフィードするが必要です!検索を絞り込みましたが、正確に特定することはできません。ドキュメントには次のように記載されています。QSyntaxHilighter QAbstractTextDocumentLayout

テキストブロックは、テキストのブロックまたは段落を。にカプセル化します[...].QTextDocument

それにもかかわらず、必要な動作を取得できるように、設定またはオーバーライドするものが見つかりません。誰かが私を正しい方向に向けることができますか?ここで耳から脳がにじみ出ています!

ありがとう。

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

qt - 改ページのある QTextEdit

QTextEdit でリッチ テキスト コンテンツをスクロールする代わりに、ページを分割する必要があります。

QTextCursor と QFontmetrics でこれを実行しようとしましたが、精度が十分ではありません。

誰かが私を助けることができますか?

前もって感謝します !!!!

K

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

qt - テキストに影響を与えずに QTextEdit でペイントする

いくつかの線をペイントしようとしてQTextEditいますが、テキストpaintEvent全体QTextEditがクリアされると、線が描画され、それ以上テキストを入力できなくなります。スクロールすると、描画された線が非常に奇妙に動作し、水平または垂直に乗算されます。テキストに影響を与えずにペイントし、QTextEditスクロール時にペイントされたものを通常どおりに動作させ、座標を維持したいと考えています。

コードは次のとおりです。

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

c++ - ある QTextDocument を別の QTextDocument に部分的にコピーして、すべての書式を設定する方法

非常に大きな QTextDocument (リッチ テキスト モード) のプレビュー バージョンのコピーを作成する必要があります。だから、私はその機能のようなものが必要ですclone()が、制限を指定する能力があります。すなわちclone (int maxChars)。ソースコードからわかるようclone()に、あるドキュメントを別のドキュメントに単一の QTextDocumentFragment としてコピーするだけです。したがって、このプロセスを必要な方法で変更することはできません。

これを実装する方法はありますか?

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

qt - Qt は QTextDocument の CSS を無視します

これが私のコードの小さなスニペットです。理由はわかりませんが、Qt は css を無視しています。

Qt 4.8 を使用しています。

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

python - QTextDocument ページにアクセスする方法

多かれ少なかれ MS Word と同じように、ページ分割された方法でリッチ テキスト ドキュメントを表示するアプリケーションを構築しようとしています。今のところ、一度に 1 ページだけ表示したいと思います。

この質問から、ドキュメントをQTextDocumentで表す必要があることがわかりました。質問の作成者はビュー表現に重点を置いていますが、ページ分割された方法でドキュメントデータにアクセスする方法について学びたいと思います。setPageSize()クラスにやなどのメソッドがあることがわかりますpageCount()。それに応じて呼び出しsetPageSize()が更新されるようpageCount()です。

問題は、選択したページのコンテンツにアクセスして QtextEdit に表示する方法がわからないことです。

(私はPySideライブラリを使ってPythonからQtにアクセスしています)

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

python - QTextDocument からブロックを削除

QTextDocument からいくつかの段落を削除する必要があります。このトピックのコードを試しました: QTextEdit から行/ブロックを削除しますが、 QTextDocument.drawContents は削除されたブロックの代わりに空の行を出力します。

では、ブロックを完全に削除するにはどうすればよいでしょうか。

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

qt - QTextDocument サブクラスの複製

をオーバーライドするQTextDocumentのサブクラスがあります。QTextDocument::loadResource(int type, const QUrl &name)

クローンしたい。

アイデア?