問題タブ [qgraphicswidget]

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

c++ - QObject の子としての QGraphicsWidget

QObjects と (たとえば) QGraphicsWidgets のツリーのような構造を持つことは可能ですか? つまり、次のような初期化リストを書くことはできません。

そして、のようになります

私は .setParent または何をすべきですか?

更新:実際の割り当てを参照してください:

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

c++ - QGraphicsSceneのウィジェット(QGraphicsProxyWidget)を取得するには?

私は a を利用しており、暗黙的に作成されたオブジェクトを介しQGraphicsSceneて通常のウィジェット ( 、 など) を追加QLineEditQComboBoxています。QGraphicsProxyWidget

現在、これらのウィジェットをシーンから再度取得して処理する方法を探していますが、見つけることができません。

私はすでに次のアプローチを試しました:

  1. グラフィックス シーンを親としてウィジェット コンストラクターに渡すことができないため、m_pGraphicsScene->findChildren(QLineEdit*)直接的な関係がないため、経由でウィジェットを取得しても機能しません。
  2. グラフィックス シーンにはQGraphicsSceneBspTreeIndex子がありますが、これは公式の Qt API の一部ではないため、これに依存することはできません。

QGraphicsProxyWidget結論: Qt グラフィックス シーンからすべてのオブジェクトを取得するにはどうすればよいですか? これは Qt 標準で行うことができますか、それとも QGraphicsScene をサブクラス化し、自分でウィジェットを管理しようとする必要がありますか?

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

python - PySide QtGui.QGraphicsWidget の親子変換

QtGui.QGraphicsWidget の使用について質問があります。与えられた例で、私の問題を説明しようとします。QtGui.QtGraphicsScene 内には 2 つの QGraphicsWidget インスタンスがあり、そのうちの 1 つは親 (app_widget.main_widget - 実行中は青)、もう 1 つはその子ウィジェット (app_widget.subwidget - 実行中は赤) です。プログラムを実行すると、キーボードのプラス キーを使用して、状態を循環的にウィジェットを変換できます。

親ウィジェットをスケーリングすると ('scale' プロパティの変更 - QtGui.QGraphicsObject から継承された QtGui.QGraphicsWidget プロパティ)、子ウィジェットもスケーリングされます。しかし、親ウィジェットのジオメトリを変更すると (「ジオメトリ」プロパティの変更 - QtGui.QGraphicsWidget プロパティ)、子ウィジェットのジオメトリは変更されません。

Python 2.7.6、PySide バージョン 1.2.1、および QtCore バージョン 4.8.6 を実行しています。

子ウィジェットが常に親の変換に従わないのはなぜですか? 親ウィジェットの 1 つの軸のみをスケーリングし、すべての子ウィジェットを比例してスケーリングする方法はありますか?

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

qt - qgraphicsitem を qgraphicswidget に型キャストする

私のqgraphicssceneには、常にqgraphicsLayoutItemを追加するqgraphicswidgetがあります。graphicsView では、調整されたシーンで qgraphicswidget ジオメトリを取得する必要があります。QList items = scene()->items(); を試しました。そしてそのタイプをチェックしてください

foreach (QGraphicsItem *item, items) { if(item->type() == ItemType) { }

ただし、アイテムをqgraphicswidgetに変換し、そのジオメトリをシーン座標に変更する方法。通常の item.boundingRect は常に 0,0, 10x10 を返します

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

pyqt - QGraphicsview + シーン + QGroupBox の移動の問題

過去数日間、私はウィジェットの動きの問題を解決しようとしていました。ある時点で、QComboBox クラスをマウス信号で書き直そうとしましたが、うまくいきませんでした。回避策として、ウィジェットを QGraphicsWidget の親にすることにしましたが、別のアイテムを追加しようとすると、それ以上表示されなくなり、何をすべきかわかりません。完全なテスト スクリプトは次のとおりです。

[Create Node View] > [Show Node Editor] > [Test] ボタンをクリックすると、新しい GroupBox が表示されるはずですが、機能しません。理由がわからない。

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

qt - QGraphicsViewでQGraphicsItem(s)のスワップを実行するには?

このプロジェクトでの私のアイデアは、アイテムでスワップ アニメーションを実行することです。ただし、問題は、アイテムのスワップを初めて実行すると、それらの位置が静止したままですが、既にスワップされたアイテムを含む他のアニメーションが開始されると、それらのアイテムが元の位置に戻ることです。私が間違っていることを教えてください。アニメーションは次のとおりです。

ここに画像の説明を入力

UPD: その目的でアニメーションを使用しないでください

UPD*: 以前の UPD を忘れる

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

qt - レスポンシブ QGraphicsWidget

私の問題は、シンプルでありながら迷惑なユーザーエクスペリエンスが損傷を与えることです. . _ QGraphicsItem_ QGraphicsSceneも必要ですQGraphicsLayoutが、私の理解では、シーンにレイアウトを単純に配置することはできません。そのため、レイアウトを に設定してからQGraphicsWidget、ウィジェットをシーンに追加する必要があります。

多数のアイテムをロードして表示する準備をする必要がある場合、前述. 最後にのみシーンに追加できます。そうしないと、その後の変更は表示されません。QGraphicsWidget

目標:ある種のレイアウト管理をシーンに追加する -> {アイテムを準備する -> アイテムをレイアウトに追加する -> 表示する -> アイテムを準備する ->} 繰り返す ...

しかし、私が持っているもの: {アイテムを準備する -> 別のアイテムを準備する ->} 繰り返し ... -> すべてをレイアウトに追加する -> シーンでレイアウト管理を設定する -> 表示する

質問: レスポンシブ レイアウト/コンテナをシーンに作成するには、どのような方法がありますか?新しい子が追加された後に再描画されますか?