Ну, вот в чем проблема:
Я строю QTableView
и использовать setModel(myModel)
метод, который связывает модель myModel
в 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()
Метод используется для получения данных и передачи данных в модель. Сразу после этого шага вид (т.е. _Table
) изменения.
Сделай это:
connect(dataModel, SIGNAL(modelReset()), SLOT(modelReset()));
в modelReset()
слот:
void SomeClass::modelReset()
{
tableView->hideColumn(0);
}
Сначала вы устанавливаете модель данных, а затем настраиваете ее графическое представление:
tableView->setModel(dataModel);
tableView->hideColumn(0);