Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Bolonat от Сентябрь 21, 2017, 10:00



Название: Не работает setHeaderData
Отправлено: Bolonat от Сентябрь 21, 2017, 10:00
Здравствуйте!
Хочу в таблице отобразить данные из QMap. На форму в графическом дизайнере кладу компонент Table View
Делаю все как в справке (http://doc.qt.io/qt-5/sql-presenting.html). Но у меня заголовки столбцов в таблице отображаются цифрами и ширина столбца не раздвигается по содержимому.
      
Код:
       //Создаю модель
       dataModel=new dataTableModel(channelList);

       //Назначаю столбцам модели заголовки
       dataModel->setHeaderData(0, Qt::Horizontal, tr("ID"));
       dataModel->setHeaderData(1, Qt::Horizontal, tr("name"));

       //Раздвигаю ширину столбцов представления
       ui->tableView->resizeColumnsToContents();

       ui->tableView->setModel(dataModel);
      

Что не так? dataTableModel наследует QAbstractTableModel. Qt 5.9.


Название: Re: Не работает setHeaderData
Отправлено: Bolonat от Сентябрь 21, 2017, 12:22
Разобралась. Необходимо было переопределить в модели еще два метода: headerData() и flags(), как написано здесь (http://doc.qt.io/qt-5/qabstracttablemodel.html).