如何通知 model/view 基础数据已更改 table headers?
How to inform the model/view that underlying data changed table headers?
我刚刚在QAbstractTableModel
的基础上构造了一个read-writeTableModel
。有效,但基础数据可以更改列和行的 headers,我不知道如何通知模型和视图(以便视图刷新 headers)。
如果我更改垂直 headers(在数据中)然后插入一列(通过视图->模型),headers 正在更新。我以某种特殊方式使用 beginInsertingX
来强制更新?
我认为您应该在开始编辑模型基础数据之前调用 beginInserColumns() 并在完成编辑后调用 endInsertColumns()。
模型应自动提醒所有可见视图需要重新绘制数据。
如果您调用 beginResetModel() 和 endResetModel()
,对于根本性的改变会更快
我刚刚在QAbstractTableModel
的基础上构造了一个read-writeTableModel
。有效,但基础数据可以更改列和行的 headers,我不知道如何通知模型和视图(以便视图刷新 headers)。
如果我更改垂直 headers(在数据中)然后插入一列(通过视图->模型),headers 正在更新。我以某种特殊方式使用 beginInsertingX
来强制更新?
我认为您应该在开始编辑模型基础数据之前调用 beginInserColumns() 并在完成编辑后调用 endInsertColumns()。
模型应自动提醒所有可见视图需要重新绘制数据。 如果您调用 beginResetModel() 和 endResetModel()
,对于根本性的改变会更快