Qt自定义委托

Qt custom delegates

本文关键字:自定义 Qt      更新时间:2023-10-16

我有不同数据类型的自定义模型,如字符串(文件路径)或double,应该使用组合框和几个项目进行编辑。
我不清楚为什么委托应该应用于视图而不是模型……

那么,我是否应该从我的模型传递某种标志然后根据这些标志为这些项目使用不同的委托?
最佳实践是什么?

编辑:我会试着澄清我的问题:
我有模型与映射(键值(结构,可以包含不同的类型,如QVariant)),这是必要的设置不同的委托为我的每一行,说,QTableView。
什么是最好的方式来传递一些"标志"从我的模型的每一个项目,然后处理这个标志,为给定的行设置适当的委托?

EDIT2:这个模型-视图对用于存储和编辑不同类型的软件选项。

From the docs:

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

委托应该处理"如何";在"用户应该如何与我的数据交互"中;(这就是为什么我强调了"交互")。

对于你的情况,那正是"双"字。字段,根据它的解释,我们可以使用行编辑(例如精确公差),旋转框,甚至某种颜色选择(将值解释为颜色)。更有甚者,我们可以对小部件使用带有某种颜色比例的行编辑,以更清楚地显示该值可能产生的后果。

正确的方法吗?它们是工具,不是一个比另一个好,而是"解决特定问题的工具"。从提供的信息中无法判断正确的方法

如果你还有疑问,我建议你用多问更多的信息。