c++ - 多屏幕/窗口 QT QML C++ 应用程序
问题描述
我是 QT Quick 和 QML 的新手,我正在尝试使用 C++ 和 QT 构建 Linux 桌面多窗口应用程序。我的意思是具有多个窗口的应用程序,例如:
- 斜线或欢迎屏幕
- 主仪表板
- 用户资料
- 图表和图形
- 等等等等。
我想将这些屏幕作为独立的 C++ 类和 QML 文件,例如:
- 仪表板.cpp
- 仪表板.qml
我能够构建代表这些屏幕的 QML 文件,但不确定如何将它们映射到将控制 QML 和后端并与之通信的类。我想让每个 QML 文件都表示为 C++ 类。屏幕堆栈管理器将使用这些类从屏幕堆栈中推送和弹出屏幕。
我看过 QT 提供的示例,但大多数示例都是单屏的,并没有解释如何拥有多个屏幕以及如何维护屏幕堆栈。
解决方案
使用 Quick Controls 2 StackView 控件:
https://doc.qt.io/qt-5/qml-qtquick-controls2-stackview.html
此控件维护一堆 QML 视图,其中顶部的视图始终可见,您可以使用动画弹出和推送视图。
推荐阅读
- python - 如何使用 matplotlib 在条形图中显示两个不匹配的字典?
- java - DataLoader 批量加载错误(MyBatis、JavaEE)
- python - 使用python选择Excel文件中的行
- android - Moshi 在启用缩小的情况下抛出异常“无法创建转换器”
- java - 如何从 jsoup 文档中获取“url”?
- android - 不允许其他人在我的手机上用他们的相机拍摄照片的 Android 代码
- docker - 在放大和缩小时控制 docker 图像
- python-3.x - 将元素列表写入 csv 文件,并以空格分隔
- python - 回调不在张量流中工作以停止训练
- python - Python 无法识别列表中的空值