c++ - QML 和 C++ 之间的合适配置

标签 c++ qt qml qt5

我正在使用 QML/C++ 使用 Qt 5 和 MVC 构建自定义 UI,我想知道如何构建代码以了解要放入 C++ 中的内容以及要放入 QML 中的内容。纯粹的视觉部分( View )显然会放在QML中,数据(模型)放在C++中,但是那些不太清晰的部分呢?我应该倾向于将东西放在 C++ 中并尝试稍微减少 QML 代码,还是倾向于另一个方向更好,即增加 QML 代码并减少 C++ 部分?我对 Qt/QML 的了解还不够,无法知道实现此目的的最佳方法是什么。

恕我直言,这两个部分都是完全可行的,但是如果我之后需要更改它,那将需要付出很大的努力,因此我希望在开始创建大量代码之前至少在某种程度上正确地实现这一点。

您在设计 QtQuick 界面时有哪些经验?您是否主要使用 C++ 来设计组件,并在顶部使用精简的 QML 界面,或者反过来?每种解决方案的优点/缺点是什么?在 QtQuick 中设计 UI 时,构建代码的首选方式是什么?

最佳答案

这是我的两分钱。这适用于 Qt 版本 5.1(ish)

QML 旨在实现 UI。所以我设计了那些在 QML 中进行可视化实现的部分。某些 UI 元素无法在 Javascript 中很好地完成,因此我在 C++ 中使用“帮助程序”或 View 。

我正在使用模型/ View 来显示数据。所有模型都是用 C++ 实现的(我在上一个应用程序中使用了 sqlite 数据库)。

QML 仍在进行中,因此如果您偏离标准电话接口(interface)太远,则没有太多实现。您期望桌面上的 UI 行为标准根本不存在。

祝你好运!

关于c++ - QML 和 C++ 之间的合适配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29635949/

相关文章:

c++ - 如何处理与 C++ 中的 unicode 支持相关的代码重复

c++ - 对 char* 的平等测试 std::string,operator==() 总是安全的吗?

c# - 从C++启动Unity(控制与可视化解耦)

javascript - JavaScript 与 QML 的奇怪行为

qt - TableView一列显示多个角色

c++ - 实现提取和插入运算符 C++

QT4 如何模糊 QPixmap 图像?

c++ - QT中如何不断读取UDP包?

c++ - c++使用Eclipse的include方式

qt - QML 实时编程