4

那么问题来了:

  1. 我构造一个QTableView并使用setModel(myModel)将模型绑定myModel到的方法myTableView

  2. 起初, 中没有数据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()方法用于获取数据并将数据推送到模型。在这一步之后,视图(即_Table)发生了变化。

4

2 回答 2

2

做这个:

connect(dataModel, SIGNAL(modelReset()), SLOT(modelReset()));

modelReset()插槽中:

void SomeClass::modelReset()
{
  tableView->hideColumn(0);
}
于 2012-12-27T07:22:27.203 回答
1

首先你设置一个数据模型,然后调整它的 GUI 表示:

tableView->setModel(dataModel);
tableView->hideColumn(0);
于 2012-12-27T06:17:43.287 回答