![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
kibsoft |
![]()
Сообщение
#1
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
Есть делегат,в методе paint которого вызывается drawImage для отрисовки картинки,но можно ли как-нибудь отображать анимацию в представлении?
|
|
|
igor_bogomolov |
![]()
Сообщение
#2
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: ![]() ![]() ![]() |
В качестве вариантов:
1. Написать делегат, в качестве виджета-редактора использовать QLabel+QMovie, которые и будут отображать анимированную картинку. Что бы анимация была видна использовать Цитата void QAbstractItemView::openPersistentEditor ( const QModelIndex & index ) 2. Если в качестве обновления необходимо использовать паинт делегата, то можно попробовать по таймеру менять значение этой ячейки, что в свою очередь должно приводить к перерисовки ячейки. |
|
|
kibsoft |
![]()
Сообщение
#3
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
В качестве вариантов: 1. Написать делегат, в качестве виджета-редактора использовать QLabel+QMovie, которые и будут отображать анимированную картинку. Что бы анимация была видна использовать Цитата void QAbstractItemView::openPersistentEditor ( const QModelIndex & index ) 2. Если в качестве обновления необходимо использовать паинт делегата, то можно попробовать по таймеру менять значение этой ячейки, что в свою очередь должно приводить к перерисовки ячейки. Спасибо! Первое думаю разумней.. Сообщение отредактировал kibsoft - 11.3.2010, 15:43 |
|
|
kibsoft |
![]()
Сообщение
#4
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
Только я не пойму последовательность действий.. в setEditorData в делегате создать QLabel и QMovie, а когда вызывать openPersistentEditor?
Да и как вообще картинки добавлять, через paint же уже не пойдет.. |
|
|
kibsoft |
![]()
Сообщение
#5
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
Кажется нарыл нужное в доке, потом отпишусь
![]() |
|
|
kibsoft |
![]()
Сообщение
#6
|
Участник ![]() ![]() Группа: Участник Сообщений: 180 Регистрация: 21.7.2009 Из: Самара Пользователь №: 928 Спасибо сказали: 14 раз(а) Репутация: ![]() ![]() ![]() |
В делегате нужно было переопределить метод createEditor, т.е. создать в нем нужный виджет, проделать нужные действия над ним и возвратить его. И в проге вызывать openPersistentEditor для нужной ячейки.
Спасибо igor_bogomolov'у за подсказку ![]() |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.2.2025, 6:19 |