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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не работает перерисовка QHeaderView  (Прочитано 3352 раз)
Hordi
Гость
« : Ноябрь 17, 2009, 16:50 »

Необходимо в секции хидера нарисовать иконку и т.п. Юзаю нижеприведенный код и не вижу изменений. Стоит закомментировать родительскую отрисовку - сразу вижу свое рисование, но мне нужно сохранить текущий вид, т.е. если упростить - то просто нарисовать иконку поверх текущего...

Код:
void DetailsHeaderView::paintSection( QPainter* painter, const QRect& rect, int logicalIndex )const
{
  QHeaderView::paintSection(painter,rect,logicalIndex);

  if(0==logicalIndex){
    QPixmap pxm(":/images/xxx.png");

    int w = sectionSize(logicalIndex);

    int dx = (w-pxm.width())/2;

    QRect rct(sectionViewportPosition(logicalIndex)+dx,0,pxm.width(),pxm.height());
   
    painter->drawPixmap(rct,pxm);
  }
}
Записан
Barmaglodd
Гость
« Ответ #1 : Ноябрь 18, 2009, 09:07 »

Хм ... значит этот косяк ещё не исправили.

painter->setClipping(false);
после
QHeaderView::paintSection(painter,rect,logicalIndex);
Записан
Hordi
Гость
« Ответ #2 : Ноябрь 18, 2009, 15:07 »

Спасибо, теперь работает.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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