問題タブ [qqmlapplicationengine]
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.
qt - 親階層を変更せずに、2 番目のウィンドウで QQuickItem をレンダリングします。
QQuickItem
特定のウィンドウが所有するウィンドウを別のウィンドウにレンダリングする必要があります。基本的MyQQuickItem
に window1 が所有し、window2 にレンダリングされます。この切り替えは、特定の機能のためにアプリで繰り返し発生する必要があります。
目標を達成するために次のことを行います。コードは基本的に正常に動作します。
コード:
問題:
上記の手法は機能的に正常に機能します。しかし、これには、window1 から window2 への親アイテムの設定とその逆の間で数回フリップフロップする必要があります。
質問: 2 つのウィンドウ間で共有する他の方法
はありますか? または、親階層を変更せずに両方のウィンドウに交互に表示することは可能ですか?MyQQuickItem
MyQQuickItem
c++ - QWidget::createWindowContainer を介してウィジェットに埋め込まれた qt ウィンドウを置き換えます
QWidget
via内に埋め込まれた QML ウィンドウがありますQWidget::createWindowContainer()
。
ウィンドウを非表示にせずにリロード機能を提供するには、親ウィジェットを破棄して再作成することなく、基になる (埋め込み) qml ウィンドウを置き換えられるようにしたいと考えています。
私がこれまでに試したことは、
以前はコンテナ ウィンドウを完全に削除して再作成していましたが ( を使用createWindowContainer
)、これは完全に機能していましたが、コンテナ ウィジェットを何度も削除することは避けたいと思います。どうすればこれを達成できますか?
(コードを簡単にするために、ポインターのチェックもエラー処理も行わないことに注意してください。それについてコメントする必要はありません :) )
c++ - 別のクラスから QQmlApplicationEngine を呼び出すときの TableView および QAbstracTableModel
QAbstractTableModel
モデルを cpp で作成し、qml に接続しようとしています。
このコードはうまく機能します。
MyModel.h
MyModel.cpp
main.cpp
main_test.qml
このように見えます
しかし、main.cpp を少し変更すると、リスト ビューは通常どおり表示されますが、テーブル ビューは表示されません。
main.cpp
MainView.h
MainView.cpp
このように見えます。
なぜこれが起こるのか本当にわかりません。2 番目のケースでは、ListView と TableView の違いは何ですか? そして、それを修正する方法、つまり2番目のケースでデータを表示する方法は? 少し早いですがお礼を。
c++ - 動的に作成されたカスタム QML オブジェクトが表示されない
「Cell.qml」というカスタム QML アイテムをルート ウィンドウに動的に挿入して表示したいと考えています。z プロパティも変更しようとしましたが、修正できませんでした。オブジェクトはまだ見えません (root->dumpObjectTree() の出力は、オブジェクトがルート ウィンドウの子として存在することを示しています)。
これは、コードを実行した後の結果です
main.cpp
main.qml
Cell.qml
root->dumpObjectTree(); の出力: