多 Screen/Window QT QML C++ 应用程序
Multi Screen/Window QT QML C++ application
我是 QT Quick 和 QML 的新手,我正在尝试使用 C++ 和 QT 构建 Linux 桌面多 Window 应用程序。我的意思是应用程序有多个 windows,例如:
- 斜杠或欢迎屏幕
- 主仪表板
- 用户个人资料
- 图表和图形
- 等等等
我希望将这些屏幕作为独立的 C++ classes 和 QML 文件,例如:
- Dashboard.cpp
- Dashboard.qml
我能够构建代表这些屏幕的 QML 文件,但不确定如何将它们映射到 class,后者将控制 QML 和后端并与之通信。我想让每个 QML 文件都表示为 C++ Class。屏幕堆栈管理器将使用这些 classes 从屏幕堆栈中推送和弹出屏幕。
我看过QT提供的例子,但是大部分例子都是单屏的,没有解释如何拥有多屏以及如何维护屏幕栈。
使用 Quick Controls 2 StackView 控件:
https://doc.qt.io/qt-5/qml-qtquick-controls2-stackview.html
此控件维护一堆 QML 视图,其中最上面的视图始终可见,您可以使用动画弹出和推送视图。
我是 QT Quick 和 QML 的新手,我正在尝试使用 C++ 和 QT 构建 Linux 桌面多 Window 应用程序。我的意思是应用程序有多个 windows,例如:
- 斜杠或欢迎屏幕
- 主仪表板
- 用户个人资料
- 图表和图形
- 等等等
我希望将这些屏幕作为独立的 C++ classes 和 QML 文件,例如:
- Dashboard.cpp
- Dashboard.qml
我能够构建代表这些屏幕的 QML 文件,但不确定如何将它们映射到 class,后者将控制 QML 和后端并与之通信。我想让每个 QML 文件都表示为 C++ Class。屏幕堆栈管理器将使用这些 classes 从屏幕堆栈中推送和弹出屏幕。
我看过QT提供的例子,但是大部分例子都是单屏的,没有解释如何拥有多屏以及如何维护屏幕栈。
使用 Quick Controls 2 StackView 控件:
https://doc.qt.io/qt-5/qml-qtquick-controls2-stackview.html
此控件维护一堆 QML 视图,其中最上面的视图始终可见,您可以使用动画弹出和推送视图。