Qt中如何刷新TreeModel?

How to refresh TreeModel in Qt?

我有一个 TreeModel,其中加载了一些数据。我的应用程序中有一个单选按钮,单击该按钮时应使用新数据更新 TreeModel

我在切换单选按钮时尝试了以下操作并且 none 正在工作:

引用自:

如何解决?

您引用的答案充其量只是令人困惑,而且可能是错误的。

您的模型代码需要为模型 data 方法返回的数据已更改的任何矩形单元格发出 dataChanged 信号。例如,请参阅 this 问答,其中有一些细节。

请注意,dataChanged 信号中的参数不应该是 parent 和 child - 它们应该是 "topLeft" 和 "bottomRight"。他们需要具有相同的 parent 并且也需要不同。因此,您无需遍历行并为每一行发出信号。您可以为所有已更改的行发送组合信号。

但是您确实需要为每个 parent(数据发生变化的地方)发送一个信号,向 parent 的左上角单元格和右下角单元格发出信号。因此,您最终可能会为 (0, 0, parent) 处的 parent 左上角单元格创建一个索引,并为 (rows, cols, parent) 处右下角的单元格创建另一个索引,然后为这对索引发送信号。