2016-05-22 4 views
1

私はQtで始まります。 QApplicationのMainWindowでQt3dから3Dビューをレンダリングしようとしています。QApplication MainWindowでQt3dビューをウィジェットとしてレンダリングする

私が見つけた例は、Qt QuickとQMLを使ったウィジェットのないQGuiApplicationsに基づいていますが、これはデスクトップアプリケーションになるため、ウィジェットを使用することを目指しています。

私はMainWindow UIフォームにQtデザイナーを使用しました。中央のウィジェットでは、タブを左に、空のウィジェットを右に広げた横のサイズポリシーを使用しています。私の目標は、Qt3dをサポートする既存のQtクラスに基づくクラスを作成し、ウィジェットを処理できるようにすることです。メインウィンドーのフォームから、ウィジェットをそのクラスに昇進させたいと思います。

私はQWindowを試しましたが、ウィジェットを許可していません。ウィジェットにアクセスするにはQGlviewを使用すると思いますか?私は実際にはOpenGLを使いこなすつもりはないのですが、今は廃止されていませんか?誰かがこれを実装する例に私を導くことができますか?

は、あなたが探しているQMLアイテムがScene3Dと呼ばれているあなたに

答えて

0

ありがとう:コメントを

http://doc.qt.io/qt-5/qt3d-scene3d-example.html

import QtQuick.Scene3D 2.0 

Scene3D { 
    id: scene3d 
    anchors.fill: parent 
    Entity { 
     Camera { 
      id: camera 
      projectionType: CameraLens.PerspectiveProjection 
      fieldOfView: 45 
      aspectRatio: scene3d.width/scene3d.height 
      nearPlane : 0.1 
      farPlane : 1000.0 
      position: Qt.vector3d(0.0, 0.0, -40.0) 
      upVector: Qt.vector3d(0.0, 1.0, 0.0) 
      viewCenter: Qt.vector3d(0.0, 0.0, 0.0) 
     } 
     Entity { 
      components: [ 
       SphereMesh {}, 
       PhongMaterial {} 
      ] 
     } 
     components: [ 
      FrameGraph { 
       activeFrameGraph: Viewport { 
        rect: Qt.rect(0.0, 0.0, 1.0, 1.0) 
        clearColor: "transparent" 
        CameraSelector { 
         camera: camera 
         ClearBuffer { 
          buffers : ClearBuffer.ColorDepthBuffer 
         } 
        } 
       } 
      } 
     ] 
    } 
} 
+0

おかげで、私は小さな例を追加しました。 – marv

+1

私は彼の質問に答えているのか分かりません。彼は、QMLではなくQWidgetsでこれを行う方法を尋ねていました – faraza

関連する問題