問題タブ [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.
c++ - QTextEdit のカスタム テキスト (コード) エリア
コード領域のように動作するテキスト オブジェクト タイプ ( QTextObjectInterfaceを継承) を作成することに興味があります。
- 特徴的な背景
- 国境
- 等幅フォント
- 編集可能なコンテンツ
- インスタンス内のコンテンツを抽出できるように、インスタンスをコードで識別できるようにする必要があります (周囲のコンテンツからコードを分離する)。
- 保存/読み込み (通常の html ファイルから)
- 構文の強調表示はプラスになりますが、実際には必須ではありません
ドキュメントの他の領域は、通常の方法で動作する必要があります (編集可能なフォント プロパティ、編集可能な色など)。
Qt は、 QTextEditでカスタム テキスト オブジェクトを実装する例を提供します。新しいテキスト オブジェクトは QTextEdit / QTextDocument内の既存のインフラストラクチャを利用できないため、これは難しい方法のように見えます。
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)
qt - Qt(PySide)マルチラインQSyntaxHighlighter
マルチラインブロックQTextEdit
にフィードするが必要です!検索を絞り込みましたが、正確に特定することはできません。ドキュメントには次のように記載されています。QSyntaxHilighter
QAbstractTextDocumentLayout
テキストブロックは、テキストのブロックまたは段落を。にカプセル化します
[...].QTextDocument
。
それにもかかわらず、必要な動作を取得できるように、設定またはオーバーライドするものが見つかりません。誰かが私を正しい方向に向けることができますか?ここで耳から脳がにじみ出ています!
ありがとう。
qt - 改ページのある QTextEdit
QTextEdit でリッチ テキスト コンテンツをスクロールする代わりに、ページを分割する必要があります。
QTextCursor と QFontmetrics でこれを実行しようとしましたが、精度が十分ではありません。
誰かが私を助けることができますか?
前もって感謝します !!!!
K
qt - テキストに影響を与えずに QTextEdit でペイントする
いくつかの線をペイントしようとしてQTextEdit
いますが、テキストpaintEvent
全体QTextEdit
がクリアされると、線が描画され、それ以上テキストを入力できなくなります。スクロールすると、描画された線が非常に奇妙に動作し、水平または垂直に乗算されます。テキストに影響を与えずにペイントし、QTextEdit
スクロール時にペイントされたものを通常どおりに動作させ、座標を維持したいと考えています。
コードは次のとおりです。
c++ - ある QTextDocument を別の QTextDocument に部分的にコピーして、すべての書式を設定する方法
非常に大きな QTextDocument (リッチ テキスト モード) のプレビュー バージョンのコピーを作成する必要があります。だから、私はその機能のようなものが必要ですclone()
が、制限を指定する能力があります。すなわちclone (int maxChars)
。ソースコードからわかるようclone()
に、あるドキュメントを別のドキュメントに単一の QTextDocumentFragment としてコピーするだけです。したがって、このプロセスを必要な方法で変更することはできません。
これを実装する方法はありますか?
qt - Qt は QTextDocument の CSS を無視します
これが私のコードの小さなスニペットです。理由はわかりませんが、Qt は css を無視しています。
Qt 4.8 を使用しています。
python - QTextDocument ページにアクセスする方法
多かれ少なかれ MS Word と同じように、ページ分割された方法でリッチ テキスト ドキュメントを表示するアプリケーションを構築しようとしています。今のところ、一度に 1 ページだけ表示したいと思います。
この質問から、ドキュメントをQTextDocumentで表す必要があることがわかりました。質問の作成者はビュー表現に重点を置いていますが、ページ分割された方法でドキュメントデータにアクセスする方法について学びたいと思います。setPageSize()
クラスにやなどのメソッドがあることがわかりますpageCount()
。それに応じて呼び出しsetPageSize()
が更新されるようpageCount()
です。
問題は、選択したページのコンテンツにアクセスして QtextEdit に表示する方法がわからないことです。
(私はPySideライブラリを使ってPythonからQtにアクセスしています)
python - QTextDocument からブロックを削除
QTextDocument からいくつかの段落を削除する必要があります。このトピックのコードを試しました: QTextEdit から行/ブロックを削除しますが、 QTextDocument.drawContents は削除されたブロックの代わりに空の行を出力します。
では、ブロックを完全に削除するにはどうすればよいでしょうか。
qt - QTextDocument サブクラスの複製
をオーバーライドするQTextDocumentのサブクラスがあります。QTextDocument::loadResource(int type, const QUrl &name)
クローンしたい。
アイデア?