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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО]QItemDelegate::paint рисуется только в одной ячейке таблицы  (Прочитано 2566 раз)
ieroglif
Гость
« : Май 07, 2011, 01:20 »

Код
C++ (Qt)
void GUI::IDLabel::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
 
   QLabel l(index.data(Qt::DisplayRole).toString());
   l.adjustSize();
   painter->save();
   painter->setRenderHints(QPainter::Antialiasing,true);
   l.render(painter->device());
   painter->restore();
}
 
.....
 
someTableView->setItemDelegate(new GUI::IDLabel());
 
в результате делегат отрисовывается только в первой ячейке первой строки.
причём если кликать мышкой по остальным ячейкам - время от времени в первой же ячейке отображаются данные из кликнутой ячейки (потом возвращается на своё значение). в остальных ячейчах вообще пусто и не ясно - есть там вообще делегат или нет Грустный

Делегат делаю что бы мог отображать html код.
гуглил много, форум читаю, ответ ищу, может есть решение готовое? или предположение о причинах моего косяка?
« Последнее редактирование: Май 07, 2011, 03:26 от ieroglif » Записан
ieroglif
Гость
« Ответ #1 : Май 07, 2011, 03:26 »

проблема решена, ответ нашёл тут: http://www.prog.org.ru/topic_6102_0.html
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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