График. Помощь. |
Здравствуйте, гость ( Вход | Регистрация )
График. Помощь. |
denmor86 |
7.6.2011, 10:10
Сообщение
#1
|
Студент Группа: Участник Сообщений: 23 Регистрация: 7.6.2011 Пользователь №: 2723 Спасибо сказали: 0 раз(а) Репутация: 0 |
Появилась необходимость сделать динамический график. Появились вопросы:
1) На чём лучше рисовать? QPixmap? 2) Как сделать максимальное быстродействие? Использовать QWT пробовал, но вся мощь библиотеки не нужна, соответственно затраты на изучение её не соизмеримы с задачей. |
|
|
RazrFalcon |
7.6.2011, 13:11
Сообщение
#2
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Вот. Когда то делал нечто подобное. Может пригодится.
Прикрепленные файлы
|
|
|
denmor86 |
7.6.2011, 13:36
Сообщение
#3
|
Студент Группа: Участник Сообщений: 23 Регистрация: 7.6.2011 Пользователь №: 2723 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо, огромное, думаю это то что мне нужно.
|
|
|
denmor86 |
7.6.2011, 14:29
Сообщение
#4
|
Студент Группа: Участник Сообщений: 23 Регистрация: 7.6.2011 Пользователь №: 2723 Спасибо сказали: 0 раз(а) Репутация: 0 |
появился вопрос:
scene->addLine эта функция добавляет на сцену объект типа QGraphicsItem Соответственно, чтобы добавлять на сцену большое кол-во объектов то их нужно и хранить в памяти... У меня различных объектов может быть за раз более 1000-10000 штук. Вопрос: нельзя ли их как то рисовать и удалять из памяти? Всё разобрался. Спасибо! |
|
|
RazrFalcon |
7.6.2011, 14:37
Сообщение
#5
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
И какое же решение?
addLine не особо много памяти жрет, по крайней мере у меня. Можно рисовать на QPixmap, но представьте каких он должен быть размеров, и сколько это будет хавать. |
|
|
denmor86 |
7.6.2011, 15:24
Сообщение
#6
|
Студент Группа: Участник Сообщений: 23 Регистрация: 7.6.2011 Пользователь №: 2723 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я перепутал addLine с addItem. Памяти действительно не много ест. QPixmap не вариант уже понял.
Ещё раз спасибо вам огромное. |
|
|
Fitz |
7.6.2011, 15:27
Сообщение
#7
|
Студент Группа: Новичок Сообщений: 13 Регистрация: 22.11.2010 Пользователь №: 2207 Спасибо сказали: 0 раз(а) Репутация: 0 |
тут темка как-то была про плоттер -> Плоттер
можно на его основе сделать, пример по-моему универсальный |
|
|
denmor86 |
7.6.2011, 15:54
Сообщение
#8
|
Студент Группа: Участник Сообщений: 23 Регистрация: 7.6.2011 Пользователь №: 2723 Спасибо сказали: 0 раз(а) Репутация: 0 |
Да, я видел этот пример, там большая беда с быстродействием.
|
|
|
denmor86 |
7.6.2011, 16:42
Сообщение
#9
|
Студент Группа: Участник Сообщений: 23 Регистрация: 7.6.2011 Пользователь №: 2723 Спасибо сказали: 0 раз(а) Репутация: 0 |
Появился ещё вопрос. Может кто решал его...
Нужно добавить текст в нужное место.
эта функция пишет текст в позицию (0,0) Есть другой метод:
Но тут беда с использованием и освобождением памяти, так как после удаления памяти пропадает текст и со сцены. Есть ли ещё какой то способ разместить текст в нужном месте сцены? |
|
|
Litkevich Yuriy |
7.6.2011, 17:02
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Соответственно, чтобы добавлять на сцену большое кол-во объектов то их нужно и хранить в памяти... Если нарисованные объекты тебе больше нуе нужны (как в MS Paint) и нужна скрость - пригоден только QPainter, а графическое представление не пригодно - слишком медленно.
У меня различных объектов может быть за раз более 1000-10000 штук. Вопрос: нельзя ли их как то рисовать и удалять из памяти? |
|
|
Текстовая версия | Сейчас: 15.1.2025, 17:08 |