首页 文章

Qt自定义代表

提问于
浏览
0

我有自定义模型与不同的数据类型,如字符串(文件路径)或双,应使用带有几个项目的组合框进行编辑 .
我不清楚为什么代表应该适用于观点而不是模型......

那么,我应该从我的模型中传递某种标志,然后根据这些标志使用不同的代表来处理这些项目吗?
制作它的最佳做法是什么?

编辑:我会试着澄清我的问题:
我有 Map 的模型(键 - 值(可以包含不同类型的结构,如QVariant))并且必须为我的每一行设置不同的委托,比如QTableView .
从我的模型中为每个项目传递一些"flag"然后处理此标志以设置给定行的适当委托的最佳方法是什么?

EDIT2:此模型 - 视图对用于存储和编辑具有不同类型的软件选项 .

1 回答

  • 1

    来自the docs

    与模型 - 视图 - 控制器模式不同,模型/视图设计不包括用于管理与用户交互的完全独立的组件 .

    代表们应该解决“用户应该如何与我的数据交互”的“方式”(这就是为什么我强调“交互”) .

    对于你的情况,你提供的非常“双”字段,取决于它的解释,我们可以使用行编辑(例如精确容忍),旋转框,甚至某种颜色选择(将值解释为颜色) . 更重要的是,可以使用具有某种颜色比例的线编辑来使窗口小部件更清楚地表明该值可能具有的后果 .

    正确的方法?它们是工具,不是比其他工具更好的工具,而是“解决特定问题的工具” . 无法从提供的信息中分辨出正确的方法 .

    如果你还有疑问,我建议用 much 更多信息重新提问 .

相关问题