crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Анимация в TableView..
kibsoft
  опции профиля:
сообщение 10.3.2010, 22:52
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

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




Репутация:   2  


Есть делегат,в методе paint которого вызывается drawImage для отрисовки картинки,но можно ли как-нибудь отображать анимацию в представлении?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 10.3.2010, 23:32
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

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




Репутация:   29  


В качестве вариантов:

1. Написать делегат, в качестве виджета-редактора использовать QLabel+QMovie, которые и будут отображать анимированную картинку. Что бы анимация была видна использовать
Цитата
void QAbstractItemView::openPersistentEditor ( const QModelIndex & index )

2. Если в качестве обновления необходимо использовать паинт делегата, то можно попробовать по таймеру менять значение этой ячейки, что в свою очередь должно приводить к перерисовки ячейки.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 11.3.2010, 15:40
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

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




Репутация:   2  


Цитата(igor_bogomolov @ 11.3.2010, 0:32) *
В качестве вариантов:

1. Написать делегат, в качестве виджета-редактора использовать QLabel+QMovie, которые и будут отображать анимированную картинку. Что бы анимация была видна использовать
Цитата
void QAbstractItemView::openPersistentEditor ( const QModelIndex & index )

2. Если в качестве обновления необходимо использовать паинт делегата, то можно попробовать по таймеру менять значение этой ячейки, что в свою очередь должно приводить к перерисовки ячейки.



Спасибо! Первое думаю разумней..

Сообщение отредактировал kibsoft - 11.3.2010, 15:43
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 11.3.2010, 16:10
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

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




Репутация:   2  


Только я не пойму последовательность действий.. в setEditorData в делегате создать QLabel и QMovie, а когда вызывать openPersistentEditor?
Да и как вообще картинки добавлять, через paint же уже не пойдет..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 11.3.2010, 16:54
Сообщение #5


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

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




Репутация:   2  


Кажется нарыл нужное в доке, потом отпишусь :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kibsoft
  опции профиля:
сообщение 12.3.2010, 17:51
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

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




Репутация:   2  


В делегате нужно было переопределить метод createEditor, т.е. создать в нем нужный виджет, проделать нужные действия над ним и возвратить его. И в проге вызывать openPersistentEditor для нужной ячейки.
Спасибо igor_bogomolov'у за подсказку :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 22.10.2021, 7:31