| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] Как лучше всего рисовать графики? |
| Автор: Elfet 7.12.2009, 22:46 |
| Всем привет! Как в Qt-е лучше всего рисовать графики? Плюс мне нужно изменять размер области графика - как и такое можно реализовать? Заранее спасибо! |
| Автор: SABROG 7.12.2009, 23:18 |
| В Qt нет штатных средств для рисования графиков, поэтому народ в основном использует Qwt или собственные наработки, исходные коды которых можно найти на форуме crossplatform.ru |
| Автор: Elfet 7.12.2009, 23:32 |
| SABROG, я пока знаю только два варианта как это можно сделать: - самому рисовать в переопределении события - В Graphics Framework. |
| Автор: quarz 8.12.2009, 00:07 |
| Elfet, скажи какую функциональность ты хочешь получить в графиках, а мы тебе поможем с выбором реализации из тех что указал SABROG |
| Автор: Elfet 8.12.2009, 00:13 |
| Мне нужно рисовать график во времени из постепенно получаемых данных. Так что-то в процессе масштаб графика должен меняться. Ещё так же вероятно окажется что график сильно колеблющийся. И нужна функциональность позволяющая определить значение в нужной точке. |
| Автор: quarz 8.12.2009, 03:38 |
| Если только это, и ничего больше и при этом ты имел опыт работы с графикой в QT (я вот пока нет, но собираюсь) - то лучше пиши сам. С qwt дольше разбираться! =) Функционал типа авто масштаба шкалы, трассировки по кривой - написать не сложно. С другой стороны, в том же qwt, немного повозившись с настройками есть возможность дописать только трассировку - все остальное (функции рисования, хранения данных, автомасштаба) в нем есть. Да и в нем есть много больше, на будущее ) |
| Автор: ecspertiza 8.12.2009, 09:12 |
| Вот зацени примерчик я его как то тут на форуме выкладывал, масштабирования нет ,но сам график рисуется из поступающих рандомом данных, может поможет чем, а масштабирование это чисто мат часть, там алгоритм придумать и все и докрутить |
| Автор: Elfet 8.12.2009, 12:34 |
| ecspertiza, каждый раз перерисовывать придется при маштабировании и дёргать данные или хранить где-то их. Так что думаю воспользуюсь Graphics View Framework. . |
| Автор: djamshud 8.12.2009, 12:59 |
| На что велосипедисты только не идут, лишь бы не использовать Qwt. Там и разные виды графиков, и динамическое обновление, и масштабирование/прокрутка, и сглаживание, и емнип получение данных для конкретной точки графика. Но нет, вместо того, чтобы воспользоваться хорошим решением, расширить его под свои нужды и в крайнем случае пропатчить, мы сделаем все с нуля с преферансом и дамами. |
| Автор: maxxant 8.12.2009, 13:35 |
если нужно без наворотов и быстро, есть embedded-widgets от нокии, вот ссылка на пакет с исходниками и примерами: http://qt.nokia.com/developer/files/embedded-widget-demos/qt-embedded-widgets-source-and-documentation Там есть простой класс. Мне пригодился, когда нужно было в "реальном" времени несколько оценочных графиков отрисовывать с большой скоростью. Если нужно с наворотами, то да qwt. |
| Автор: Elfet 8.12.2009, 15:02 |
| djamshud, не хочу разбираться с библиотекой в которой мне нужна лишь часть. К тому же по комментарием к ней не очень продуманной и удобной. |
| Автор: djamshud 8.12.2009, 20:50 |
| Elfet, а вы использовали хоть одну библиотекe на 100 процентов? Ну или хотя бы на 87.5? Даже ту же Qt? |