crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> модель для QTableView - заголовок
a_goodgirl
  опции профиля:
сообщение 18.8.2010, 18:44
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 35
Регистрация: 4.6.2009
Пользователь №: 801

Спасибо сказали: 0 раз(а)




Репутация:   0  


Для QTableView сделана своя модель (для многих целей).
В частности, переопределен метод
QVariant headerData(int section, Qt::Orientation orientation, int role) const


вот таким образом (для отладки задействованы все роли):
  if (orientation != Qt::Horizontal) return QVariant();
  QFont font;
  switch (role)
  {
  case Qt::DisplayRole:
    if (!section) return tr("Color");
    else if (section == 1) return tr("Range");
    else return tr("Label");
  case Qt::BackgroundRole:
    return QBrush(Qt::blue, Qt::LinearGradientPattern);
  case Qt::ForegroundRole:
    return QBrush(Qt::red);
  case Qt::FontRole:
   font = _table->font();
      font.setBold(true);
      return font;
  case Qt::TextAlignmentRole:
    return Qt::AlignLeft | Qt::AlignVCenter;
  }
  return QAbstractItemModel::headerData(section, orientation, role);


Все замечательно отрисовывается (цвет, щрифт, расположение текста), кроме Qt::BackgroundRole!
Рисуется серым, инорируя QBrush(Qt::blue, Qt::LinearGradientPattern);
Прикрепленное изображение

Как изменить фон? Буду благодарна за ответы
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.12.2024, 14:28