有什么办法“批量加载”Qt数据模型以避免过多的信号调用?

时间:2009-06-17 21:06:11

标签: qt

我有一个QStandardItemModel手动实现了“全选”功能。这会循环并更新所有项目(或某些项目 - 包含过滤器)的数据。问题是我有一些插槽连接到模型的dataChanged信号,当用户执行“全选”并且模型包含数千个条目时,我不希望它们调用每一步。< / p>

有没有办法在模型中一次设置多个项目,并且dataChanged只为整个更改发出一次?

感谢您的任何想法!

1 个答案:

答案 0 :(得分:4)

尝试在发出信号的对象上使用QObject::blockSignals方法。这将允许您抑制然后恢复信号生成。对于这种类型的操作非常有用。