問題タブ [qgraphicstextitem]

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 投票する
0 に答える
170 参照

qt - Qt 変換テキスト

写真のように変形する方法はありますかQGraphicsTextItem(円周に沿って曲げます)。 変身

を使用して適用できるQTransformクラスを見つけましQGraphicsItem::setTransformたが、図に示すようにテキストを変換する関数が見つかりません。

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

python - QGraphicsTextItem のページネーション: テキストを特定の長方形の領域に限定する

主にページのレイアウトとドキュメントのページ付けに焦点を当てて、WYSIWYGワードプロセッサを作成するためにQtを使用しようとしています。

私が最初に焦点を当てようとしているのは、印刷プレビュー機能であり、QGraphicsTextItem と共に QGraphicsScene/View を使用すると考えました。

現在の問題は、QGraphicsTextItem の範囲内にテキストを含めることができないことです。テキストは、QGraphicsScene/View の一番下に到達するまで続きます。プレビュー

QGraphics を使用することが正しい方法であるかどうか疑問に思っています。そうであれば、テキスト ドキュメントのページネーションを取得するにはどうすればよいですか?

添付の図に示す結果を生成するためのコード (PyQt、ただし、Python が優先されますが、C++ を理解できるはずです):

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

qt - メイン QWidget から QGraphicsTextItem のフォーカスを削除する方法

の中にいくつかのQGraphicsTextItemQGraphicsItemが描かれていQGraphicsViewます。これQGraphicsViewはメインに追加されましたQwidget

FocusOutEventこのために " " を書きましたが、 " " 内で呼び出されたQGraphicsTextItem場合にのみフォーカスが削除されます。MousePressEventQGraphicsView

ここでの私の懸念は、が呼び出されQGraphicsTextItemたときに this のフォーカスを削除する方法ですか?MousePressEventQGraphicsView

私のMainWindow.cppでは、関数を書きましたmousePressEvent:

しかし、これはQGraphicsTextItem.

ポジティブな反応を期待しています。

0 投票する
0 に答える
450 参照

qt - QGraphicsItem の位置を修正し、QGraphicsTextItem のみを移動する方法は?

と をQGraphicsView描いている がQGraphicsItemありQGraphicsTextItemます。

長いテキストを編集するためItemIsMovableのフラグを設定しました。QGraphicsTextItem

ここで私の懸念。QGraphicsTextItem長いテキストを表示するために を移動すると、 も左QGraphicsTextに移動します。

しかし、私は動かしたいだけQGraphicsTextItemです。

QGraphicsItemの位置を固定したい それ、どうやったら出来るの?

編集:ここに画像の説明を入力 これが私のコードの出力です。これQGraphicsViewはアプリケーションの左上にあります。このビューポートQGraphicsViewは の幅ですQGraphicsItem

をクリックしてQGraphicsTextItemカーソルを右に移動してテキストを表示QGraphicsItemすると、画像に示すように も移動して非表示になります。

これの位置を修正するにはどうすればよいQGraphicsItemですか?

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

qt - QGraphicsTextItemにユニコードを表示するにはどうすればよいですか?

QGraphicsTextItemUnicode (またはそのサブクラス)を表示できるようにしたいと考えています。

テキストを設定する唯一の方法QGraphicsTextItem

しようとしている

また

私は得る:

私が何をしても(正しいかどうかはわかりませんが)、正しい出力が得られないようです...

QGraphicsTextItemユニコードをサポートしていますか? 機能に問題があるのか​​もしれませんsetPlainTextが、代替手段は何ですか? (調べてみましsetDocumentたが、プレーンテキストも設定されています...)

編集 - QGraphicsTextItem 内の特殊文字のコピーは、一度画面上で機能しますが、コードからユニコードを配置することはできません。

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

c++ - QGraphicsSceneを使用してQTでカウントを追跡するテキストフィールド

特定のユーザー定義のインスタンスがシーン内QGraphicsItemPerson移動する QT プロジェクト (C++ を使用) があります。それらPersonsが相互作用して、一部の色が変わることがあります。

ここで、ウィンドウにテキスト フィールドを配置し、各色の数を表示したいと考えています。しかし、変更は - メソッドの呼び出し内で発生するPerson::advanceため、これらの中から更新できるテキスト フィールドを作成したいと考えています。

次のコードを main.cpp に追加することで、テキストを簡単に表示できます。

しかし、シーンtext1内のadvance-method内からこの変数のテキストにアクセスして変更する方法がわかりません。Personsこれにはどのような戦略が適していますか?

カウントを追跡するグローバル変数を作成する必要がありますか?作成した場合、テキスト フィールドを更新するにはどうすればよいですか? または、テキストを myQGraphicsSceneに置くのではなく、プログラムのどこからでも呼び出すことができる他のより適切な場所で定義する必要がありますか? これを行う一般的な方法はありますか?

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

qt - QGraphicsSceneTextItem 古いテキストを削除

私がやりたいことは、QGraphicsSimpleTextItem私が追加したのテキスト値を削除または更新することQGraphicsItemですが、特定の原因でテキストは更新されませんが、作成されたアイテムに蓄積されます.これは私が今行ったことです:

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

c++ - QGraphicsTextItem の編集には、アクションを 2 回実行する必要があります

QGraphicsTextItemダブルクリックで編集可能にし、クリックアウトすると移動可能にしたい。

それは私が望むことをします-2回ダブルクリックする必要があることを除いて
-最初にダブルクリックすると、カーソルが表示されますが、テキストを編集できません(どちらのオプションでも、TextEditableまたはTextEditorInteraction(おそらく後者が必要です)。次にダブルクリックしますもう一度入力して、テキストを追加または削除できます。

これはおそらくユーザーが予期しない動作であり、私が何をしてもそれが変わるようには見えません。

私は何か間違ったことをしていますか、それとも何か追加する必要がありますか?

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

qt - 編集モードでないときにキャレットを非表示にするにはどうすればよいですか?

私はTextItem継承していQGraphicsTextItemます。ダブルクリックでテキストを編集でき、クリックアウトするとテキストが編集できなくなるようにしました。

クリックアウトすると、テキストは編集できなくなりますが、キャレットは引き続き表示されます。

を追加setCursor(Qt::OpenHandCursor);するとfocusOutEvent(そして、設定するカーソルの形状を覚えようとしている可能性があります...まだ方法はわかりません)、これを修正します-キャレットが消えます-しかし、それは正しい修正だとは思いません。

QTextCursorそれでも、編集モードでなくなったときにキャレットを非表示にする方法が見つかりません-そして、設定がそれNoTextInteractionを行うべきだったようです...

編集モードでないときにキャレットを非表示にする最良の方法は何ですか?