| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [QT] Рисование графика |
| Автор: rcdimon 25.10.2009, 20:25 |
| Я начинающий в QT. Возникла необходимость написать программу, отображающая график. График должен строиться в режиме реального времени. Данные приходят на COM порт и каждый раз при поступлении следующих данных график должен дорисовываться. Некий самописец. Мне удалось с помощью QPainter нарисовать график по заранее определенному масиву данных, а вот осуществить его "дорисовку" не получается. Ведь рисовать можно только в ::paintEvent. Какой самый простой метод сделать рисование линии по событию? Например нажатию на кнопку, или приходу данных с ком-порта и т.д.? |
| Автор: Pion 25.10.2009, 21:10 |
| наверное, вызвать update в методе... Update в свою очередь вызовет repaint. |
| Автор: rcdimon 25.10.2009, 22:46 |
| Я пробовал, но при этом начинает подтормаживать... |
| Автор: CuteBunny 27.10.2009, 05:46 |
| А если юзать qwtlib??? Там точно помню в одном из примеров график рисовался в режиме реального времени, но данные были рандомные? |
| Автор: rcdimon 27.10.2009, 11:34 | ||||
| Вобщем я тоже смотрю в сторону QWT. Установил, примеры покурил. Однако происходит странная вещь- программа нормально компилируется и запускается, но сразу закрывается с кодом завершения 1. Никаких ошибок опять же не выводит. Вот код.
Если делать отладку по шагам, то вылетает с кодом 1 на строке
В чем может быть проблема? У меня VS2008 QT4.5.0 QWT5.2.0 |
| Автор: CuteBunny 28.10.2009, 06:08 | ||
Думаю вот эти переменные лучше описать, как члены класса (private конечно же):
Потом уже создавать их в конструкторе. Еще, я так понял, что в QDesigner'е, вы не используете плагины для работы с qwt? Так гораздо легче, если уж вы используете шаблоны gui. |
| Автор: ecspertiza 28.10.2009, 11:07 |
| С какой скоростью приходят данные с прибора? Я реализовал тестовый примерчик рисования графика при помощи painterEvent(), посмотри может поможет, тормозов не замечал, данные приходят рандомом по таймеру 10 раз в секунду. |