Russian Qt Forum
Сентябрь 30, 2024, 14:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: В моделе не работает headerData  (Прочитано 3467 раз)
alex-v
Гость
« : Ноябрь 09, 2011, 20:48 »

Создал свою модель на основе QAbstractItemModel. Данные отображаются в таблице QTableView, но не выводятся заголовки столбцов.

Вот код:
Код:
#include "BaseTableModel.h"

BaseTableModel::BaseTableModel(QObject *parent) :
    QAbstractItemModel(parent)
{
}
//--------------------------------------------------------------------------

void BaseTableModel::setRecords(const QVariantList &records)
{
    _records = records;

    _rowCount = _records.size();
    _columnCount = _rowCount ? _records[0].toList().size() : 0;
}
//--------------------------------------------------------------------------

QVariant BaseTableModel::data(const QModelIndex &item, int role) const
{
    if ((role==Qt::DisplayRole || role==Qt::EditRole) && item.row() < _rowCount)
    {
        if (item.column() < _columnCount)
            return _records[item.row()].toList()[item.column()];
    }

    return QVariant();
}
//--------------------------------------------------------------------------

int BaseTableModel::columnCount ( const QModelIndex & parent ) const
{
    return _columnCount;
}
//--------------------------------------------------------------------------

QModelIndex BaseTableModel::index ( int row, int column, const QModelIndex & parent ) const
{
    return createIndex(row, column);
}
//--------------------------------------------------------------------------

QModelIndex BaseTableModel::parent ( const QModelIndex & index ) const
{
    return QModelIndex();
}
//--------------------------------------------------------------------------

int BaseTableModel::rowCount ( const QModelIndex & parent ) const
{
    return _rowCount;
}
//--------------------------------------------------------------------------

void BaseTableModel::update()
{
    reset();

    //emit dataChanged( createIndex(0,0), createIndex(_rowCount-1, _columnCount-1) );
}
//--------------------------------------------------------------------------

QVariant BaseTableModel::headerData ( int section, Qt::Orientation orientation, int role )
{
    return QString("qwe");
}
//--------------------------------------------------------------------------

подскажите, в  чем может быть дело?
спасибо.
Записан
alexman
Гость
« Ответ #1 : Ноябрь 09, 2011, 20:58 »

QVariant QAbstractItemModel::headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const [virtual]
Сравните Улыбающийся
« Последнее редактирование: Ноябрь 09, 2011, 21:05 от alexman » Записан
alex-v
Гость
« Ответ #2 : Ноябрь 09, 2011, 21:27 »

QVariant QAbstractItemModel::headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const [virtual]
Сравните Улыбающийся
Действительно! Улыбающийся невнимательность моя....
« Последнее редактирование: Ноябрь 09, 2011, 22:00 от alex-v » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.039 секунд. Запросов: 20.