QuickWidgetを使ってQQml Apple Engineとの違い
822 ワード
萌え夢コミュニティのオリジナル文章、原文の住所:http://qtdream.com/topic/682.転載禁止
昨日、私たちが以前作った製品をQQQmlAppliation Engine-basedからQt Widgetsアプリケーションに移植するために、いくつかの修正をしました.重要な部分の一つは、
具体的には、私のQMLコードには
後ろで文書を見ました.文書はこう言いました.
昨日、私たちが以前作った製品をQQQmlAppliation Engine-basedからQt Widgetsアプリケーションに移植するために、いくつかの修正をしました.重要な部分の一つは、
QQmlApplicationEngine
以前のコードをQQuickWidget
に移植することである.しかし、その中には違ったところがあって、私のもとの製品は仕事ができなくなりました.具体的には、私のQMLコードには
Qt.createQmlObject
という関数があり、parentが設置されています.これは、動的にItem
ページをロードすることができます.これは、main.cppにQQmlApplicationEngine
というコードが含まれていますが、QQuickWidget
に移植されると問題が発生します.元々はvisibleで表示と隠しの切り替えができなくなりました.後ろで文書を見ました.文書はこう言いました.
QQuickWidget
はマルチスレッドレンダリングを禁止し、QtのSchene Graphレンダリングの内容をFBOにレンダリングして再表示する.Widgetsのstack orderとの問題を避けることができます.しかし、この原因(未確認)こそ、上記のような不一致を招いたと思います.具体的な問題については、QQuickView
とQWidget::createWindowContainer()
の関数を使って、問題が解決できるかどうかをテストします.