那么问题来了:
QTableView
并使用 setModel(myModel)
方法将模型 myModel
绑定(bind)到 myTableView
; myModel
中没有数据,我使用 hideColumn(0)
来完成这项工作,它运行良好,而在我将数据加载到 myModel
后,我隐藏的列才显示出来。 有人会告诉我 如何在模型更改时保持列 的隐藏状态吗?
任何建议表示赞赏。
好的,这是代码。
void ModelView::createModelAndView()
{
_TableModel = new TableModel(this);
_Table = new QTableView(this);
_Table->setModel(_TableModel);
_Table->hideColumn(0);
_Table->hideColumn(10);
}
现在
_TableModel
没有数据。然后是这样的:
_TableModel->loadData();
loadData()
方法用于获取数据并将数据推送到模型。在这一步之后, View (即 _Table
)发生了变化。 最佳答案
做这个:
connect(dataModel, SIGNAL(modelReset()), SLOT(modelReset()));
在
modelReset()
插槽中:void SomeClass::modelReset()
{
tableView->hideColumn(0);
}