gpt4 book ai didi

c++ - Qt 自定义委托(delegate)

转载 作者:行者123 更新时间:2023-11-28 06:05:19 25 4
gpt4 key购买 nike

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

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

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

编辑2:此模型- View 对用于存储和编辑不同类型的软件选项。

最佳答案

来自 the docs :

Unlike the Model-View-Controller pattern, the model/view design does not include a completely separate component for managing interaction with the user.

委托(delegate)们应该解决“用户应该如何与我的数据交互”中的“方式”(这就是我强调“交互”的原因)。

对于您的情况,您提供的那个非常“双重”字段,根据它的解释,我们可以使用行编辑(例如精确公差)、旋转框,甚至某种颜色选择(将值解释为颜色) .更重要的是,可以对小部件使用带有某种色标的行编辑,以使其更清楚该值可能产生的结果。

正确的方法?它们是工具,不是一个比另一个更好,而是“一个解决特定问题的工具”。无法根据提供的信息判断正确的方法。

如果您仍有疑问,我建议您使用更多更多信息重新提出问题。

关于c++ - Qt 自定义委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32502419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com