gpt4 book ai didi

c++ - Qt dataChanged 信号 - 不使用提供的单元格范围

转载 作者:行者123 更新时间:2023-11-28 03:15:19 26 4
gpt4 key购买 nike

我希望有人可以就我观察到的 dataChanged 信号问题提供一些帮助。在使用受限的单元格范围发出此信号后,数据模型似乎在每个可见单元格上调用 data(...)。

例如:

QModelIndex bl = index(1, 1);
QModelIndex tr = index(1, 5);
emit dataChanged(bl, tr);

如果 5 行和 5 列可见,则此信号将触发对 data() 的 25 次调用,而不是预期的 5 次。

阅读 Qt 文档,我知道不能保证只调用 5 次,但我很好奇是否有一种在大多数情况下都可以接受的最小化范围的方法。

有什么想法吗?

最佳答案

data() 调用的次数没有限制。这完全取决于 View 的实现。例如,有时我注意到当 View 获得焦点时 View 调用模型的 data(),没有任何 dataChanged 信号,根本没有任何其他交互。所以,你应该准备好处理它。如果你想控制 data() 调用次数,唯一的方法是实现你自己的 View 。

关于c++ - Qt dataChanged 信号 - 不使用提供的单元格范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17098171/

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