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

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

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Помощь С QGraphicView и QGraphicScene  (Прочитано 11303 раз)
NickSin
Гость
« : Апрель 04, 2014, 11:32 »

В общем ситуация такая, есть сцена помещенная в QGraphicView.
Нужно отлавливать изменение горизонтального скроллбара и соответственно перерисовывать.

В доках что-то мало нашел по этому поводу...
Помогите или подскажите в каком направлении "крутить"?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Апрель 04, 2014, 12:11 »

Graphics View Framework
Записан

Qt 5.11/4.8.7 (X11/Win)
NickSin
Гость
« Ответ #2 : Апрель 04, 2014, 13:27 »

Убивайте, но про скроллы ничего не нашел!
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Апрель 04, 2014, 13:33 »

Убивайте, но про скроллы ничего не нашел!
Правильно, т.к. если ты понял прочитанное, то сколлы тебя не должны беспокоить.
Записан

Qt 5.11/4.8.7 (X11/Win)
NickSin
Гость
« Ответ #4 : Апрель 04, 2014, 13:37 »

Убивайте, но про скроллы ничего не нашел!
Правильно, т.к. если ты понял прочитанное, то сколлы тебя не должны беспокоить.
Можно подробней, потому мне не понятно...
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4350



Просмотр профиля
« Ответ #5 : Апрель 04, 2014, 13:40 »

Можно подробней, потому мне не понятно...
Вьюшка сама все перерисует, вам не надо ни о чем бесспокоиться. Улыбающийся
Записан
NickSin
Гость
« Ответ #6 : Апрель 04, 2014, 13:52 »

Можно подробней, потому мне не понятно...
Вьюшка сама все перерисует, вам не надо ни о чем бесспокоиться. Улыбающийся
Проблема не в отрисовке....
В моем проекте отрисовывается большое количество обьектов по логу, поэтому я хочу сделать "скользящее окно" чтобы по мере прокрутки скрола,  подгружался лог и отрисовывавались новые обьекты.
Я уже отрисовывал до этого большое количество объектов и скажу сразу, что ПК будет "висеть" при прокрутке скрола от верха до половины полосы прокрутки.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #7 : Апрель 04, 2014, 14:07 »

Крылья-крылья... Ноги! Напр юзер имел объекты (*) и вот хочет создать объект (Х) на значительном удалении. Какое должно быть поведение скроллеров  Непонимающий

*  *
  *  *


                X
Записан
NickSin
Гость
« Ответ #8 : Апрель 04, 2014, 14:15 »

Крылья-крылья... Ноги! Напр юзер имел объекты (*) и вот хочет создать объект (Х) на значительном удалении. Какое должно быть поведение скроллеров  Непонимающий

*  *
  *  *


                X

Распишу как я вижу!
(*) - обьекты
 

___________
|      *        |
|      *        |
|      *        |- окно
|      *        |
|__________|

скажем там , путь у нас рисуется всего 4 обьекта всегда! Когда я двигаю скрол вниз, он перерисовывает эти 4 обьекта на те, которые идут по логу ну или по позиции вниз!

Так должно быть понятней.

Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #9 : Апрель 04, 2014, 14:21 »

Дело в том, что вью всего лишь "отображатель" содержимого сцены и полностью от неё зависит.
То, что хочется тебе сделать, такую зависимость ломает и средствами QGraphicScene/QGraphicView просто такую задачу решить не получится.
« Последнее редактирование: Апрель 04, 2014, 14:23 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
NickSin
Гость
« Ответ #10 : Апрель 04, 2014, 14:29 »

Дело в том, что вью всего лишь "отображатель" содержимого сцены и полностью от неё зависит.
То, что хочется тебе сделать, такую зависимость ломает и средствами QGraphicScene/QGraphicView просто такую задачу решить не получится.
Ок, а я могу скажем делать так, допустим я имею окно вью. Могу ли я ,определив координаты обьекта на сцене, сопоставить как-то их с текущим окном вью и соответственно вывести этот предмет или нет?
Такие манипуляции допустимы?
Записан
OKTA
Гость
« Ответ #11 : Апрель 04, 2014, 15:19 »

Не особо разбираюсь в графике, но есть же QScrollBar * QAbstractScrollArea::verticalScrollBar () const у QGraphicView. Соответственно зная высоту отображаемой области и зная текущее положение скроллбара, можно принять решение подгружать или не подгружать новые объекты.
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4350



Просмотр профиля
« Ответ #12 : Апрель 04, 2014, 15:33 »

скажем там , путь у нас рисуется всего 4 обьекта всегда! Когда я двигаю скрол вниз, он перерисовывает эти 4 обьекта на те, которые идут по логу ну или по позиции вниз!
Тогда я не вижу смысла в использовании QGraphicsXXX.
Такое лучше и проще рисовать с помощью делегата для QListView.
Записан
NickSin
Гость
« Ответ #13 : Апрель 04, 2014, 15:37 »

Не особо разбираюсь в графике, но есть же QScrollBar * QAbstractScrollArea::verticalScrollBar () const у QGraphicView. Соответственно зная высоту отображаемой области и зная текущее положение скроллбара, можно принять решение подгружать или не подгружать новые объекты.
А я вот в доках этого не увидел...
Где можно подробней об этом посмотреть или в какой версии Qt оно есть?
 
скажем там , путь у нас рисуется всего 4 обьекта всегда! Когда я двигаю скрол вниз, он перерисовывает эти 4 обьекта на те, которые идут по логу ну или по позиции вниз!
Тогда я не вижу смысла в использовании QGraphicsXXX.
Такое лучше и проще рисовать с помощью делегата для QListView.
Ну я в качестве примера привел 4, а так у меня их  10-13 в окне. Но я не понял как я смогу отрисовать это все в QListView.  Извините , просто с делегатами вообще не знаком и мало представляю себе, что это.
Записан
Bepec
Гость
« Ответ #14 : Апрель 04, 2014, 15:39 »

У него сверхсложные итемы наверно Улыбающийся Но и сам listView не рассчитан на более миллиона записей )
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


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