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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос про QGraphicsScene::changed  (Прочитано 4081 раз)
Swa
Самовар
**
Offline Offline

Сообщений: 170


Просмотр профиля
« : Март 22, 2011, 17:08 »

Всем привет.
Есть сигнал
Код:
void QGraphicsScene::changed ( const QList<QRectF> & region )
, в справке:
Цитировать
his signal is emitted by QGraphicsScene ... if the scene content changes
.
Присоединил этот сигнал к слоту:
Код:
void MainWindow::Scenechanged (const QList<QRectF> &) {
qDebug() << QString("%1 - Scene changed").arg(QDateTime::currentDateTime().toString("hh:mm:ss.zzz"));
}
В итоге этот слот вызывается очень часто, до 100 раз в секунду. А мне нужно, чтобы вызывалось только когда изменилась сцена. Возможно ли это?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Март 22, 2011, 17:35 »

Цитировать
А мне нужно, чтобы вызывалось только когда изменилась сцена.
Что подразумевается под изменением сцены?
Записан

Qt 5.11/4.8.7 (X11/Win)
Swa
Самовар
**
Offline Offline

Сообщений: 170


Просмотр профиля
« Ответ #2 : Март 23, 2011, 09:20 »

Что подразумевается под изменением сцены?

Изменение набора итемов сцены, положения итемов, изменение внешнего вида итемов. Просто я хочу кешировать изображение сцены когда она изменилась, а это, как я понимаю, ресурсоёмкая операция.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Март 23, 2011, 10:46 »

Ну дык повесь таймер.
Записан

Qt 5.11/4.8.7 (X11/Win)
Swa
Самовар
**
Offline Offline

Сообщений: 170


Просмотр профиля
« Ответ #4 : Март 23, 2011, 12:29 »

Ну похоже это единственный вариант, спасибо. Странно, что нет такого сигнала об изменении внешнего вида сцены
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Март 23, 2011, 12:46 »

Цитировать
Странно, что нет такого сигнала об изменении внешнего вида сцены
Внешним видом сцены заведует QGraphicsView. Может и копать нужно относительно него, а не QGraphicsScene?
Записан

Qt 5.11/4.8.7 (X11/Win)
Swa
Самовар
**
Offline Offline

Сообщений: 170


Просмотр профиля
« Ответ #6 : Март 23, 2011, 14:48 »

Неа, представление только выводит на экран и передаёт сцене события.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #7 : Март 23, 2011, 15:00 »

Цитировать
Просто я хочу кешировать изображение сцены
Тогда определись, что ты хочешь кешировать.
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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