c++ - 拥有一个不使用 Qt 类但使用 Qt View 的模型是否可行?

标签 c++ qt model-view-controller

假设我有一个模拟(“模型”),它目前在控制台中运行并且没有任何 Qt 特定代码。让我们假装它有一个球类

struct Ball
{
     unsigned int unique_id;
     float x;
     float y;
};

将 QGraphicsScene 与 QGraphicsView 以及 QGraphicsItem 或 QGraphicsPolygonItem 结合使用,我还可以使用 Qt 在场景中的任何给定位置绘制形状(比如圆形)。

理想情况下,我想继续使用 Qt 来显示球(因为它在这方面很容易使用),但不会将 Qt 与我的模型交织在一起(这样我就可以轻松地交换模型的某些部分)。是否有一种“不错”的方式将我模型中的球与我可以在屏幕上绘制的 QGraphicsItems 相关联?如果不是,在 Qt 中执行此操作的正确方法是什么?

最佳答案

您可以存储 arbitrary data在每个 QGraphicsItem 上。一种合理的选择是存储指向相应 Ball 对象的指针。

关于c++ - 拥有一个不使用 Qt 类但使用 Qt View 的模型是否可行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53972125/

相关文章:

c++ - 初始化模板化、递归、POD 结构

c++ - 输出复制的字符串时出现问题

c# - CS0246 找不到类型或命名空间名称 'ErrorViewModel'(是否缺少 using 指令或程序集引用?)

javascript - JQuery DataTable 添加属性自定义按钮

c++ - 如何将套接字连接到调制解调器连接?

c++ - 如果 QTimer 不停止会发生什么

c++ - windows下Qt5 QSlider调色板无效果

qt - 判断一个 QFont 是否支持某个 UTF-8 字符

c# - 如何在 asp.net mvc 中渲染图像?

C++检查回文时如何忽略上下的区别?