Qt的版本5.7和5.11之间有许多重要的进化。以下是一些重要的变化和示例代码:
import QtQuick 2.7
import QtQuick.Controls 2.0
ApplicationWindow {
visible: true
width: 200
height: 100
title: "Button Example"
Button {
text: "Click Me"
onClicked: {
console.log("Button clicked!")
}
}
}
#include
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QGraphicsScene scene;
QGraphicsView view(&scene);
QGraphicsRectItem rect(0, 0, 100, 100);
rect.setBrush(Qt::red);
scene.addItem(&rect);
view.show();
return app.exec();
}
import Qt3D.Core 2.0
import Qt3D.Render 2.0
import Qt3D.Input 2.0
import Qt3D.Extras 2.0
Entity {
Camera {
id: camera
projectionType: CameraLens.PerspectiveProjection
fieldOfView: 45
aspectRatio: 16/9
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)
}
OrbitCameraController {
camera: camera
}
components: [
RenderSettings {
activeFrameGraph: ForwardRenderer {
clearColor: "white"
camera: camera
}
},
InputSettings { }
]
CubeMesh {
id: cubeMesh
}
Material {
id: cubeMaterial
diffuse: Qt.rgba(1, 0, 0, 1)
}
Entity {
id: cubeEntity
components: [ cubeMesh, cubeMaterial ]
Transform {
property real rotationAngle: 0
rotation: fromAxisAndAngle(Qt.vector3d(0, 1, 0), rotationAngle)
}
}
Animation {
id: cubeRotation
target: cubeEntity.transform
property: "rotationAngle"
from: 0
to: 360
duration: 10000
loops: Animation.Infinite
running: true
}
}
这些只是Qt 5.7和5.11之间的一些重要进化的示例。总的来说,这些变化使得Qt更加强大和易于使用,为开发者提供了更多的工具和功能来创建高质量的应用程序。