gpt4 book ai didi

qt4 - 我如何强制 Qt 在我的模型上调用 `data()`?

转载 作者:行者123 更新时间:2023-12-05 09:24:55 24 4
gpt4 key购买 nike

我有一个 QtTreeView 和一个派生自 QAbstractItemModel 的类 Foo

Foo::data 中,我根据一些内部数据的状态为树的每个元素设置了 Qt::BackgroundRole

当我收到更新内部数据的信号时,我想相应地更新每个项目的背景,但我似乎无法可靠地让 Qt 调用我的 Foo::data 方法。

我试过调用 update()repaint()(在 View 上),但无济于事。调用 reset() 有效,但我失去了树的所有状态(例如扩展元素等)。在每个元素上调用 setData() 也可以,但代码变得有点笨拙,因为我必须显式重建显示的数据树,这不太好。

我如何强制 Qt 在我的模型上调用 data()

最佳答案

您需要通过发出 dataChanged 通知 View 类您的模型已更改信号。

关于qt4 - 我如何强制 Qt 在我的模型上调用 `data()`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7678331/

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