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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Графическое отображение данных на Qt  (Прочитано 19077 раз)
8Observer8
Гость
« : Март 15, 2014, 12:39 »

Привет!

Я написал программу, которая отображает данные от датчиков в текстовых полях LineEdit и таблице TableView. Теперь хочу чтобы данные отображались в виде графиков. Графики будут динамически меняться. Оператор сможет отслеживать динамику изменения показаний датчиков.

Есть такая библиотека - Qwt. Насколько я понял, она поддерживается одним единственным человеком. Его ник на форуме Uwe: http://www.qtcentre.org/forums/23-Qwt

Есть ли для Qt более надёжная альтернатива? Может быть уже что-то придумали для QML? Пусть это даже будет JavaSript и QML. Перечислите, пожалуйста, что вам известно для построения графиков (особенно тех, которые могут динамически отображать данные) на Qt.

Заранее спасибо за ответы.
Записан
8Observer8
Гость
« Ответ #1 : Март 15, 2014, 13:20 »

Я нашёл вот такой вводный туториал по Qwt из двух частей:
1) http://habrahabr.ru/post/211204/
2) http://habrahabr.ru/post/211867/

Но так и не смог найти, где бы пошагово объяснили, как Qwt-элементы встроить в Qt Designer.

Вот такая есть альтернатива для Qwt, называется QСustomPlot: http://www.qcustomplot.com/
« Последнее редактирование: Март 15, 2014, 13:23 от 8Observer8 » Записан
Hrundel
Гость
« Ответ #2 : Март 15, 2014, 13:39 »

Берешь QLabel и на нем рисуешь через paint event все, что душа пожелает.
Записан
8Observer8
Гость
« Ответ #3 : Март 15, 2014, 13:56 »

Берешь QLabel и на нем рисуешь через paint event все, что душа пожелает.
Да, это я опухну пока реализую динамический график. У меня нет столько времени. Была мысль на OpenGL сделать, но мне нужно быстро и чтобы ошибок меньше было. Поэтому надо использовать готовое. Остановился на QCustomPlot.

Вот Qwt не могу в Designer встроить. Тут написано: http://geekanddo.wordpress.com/2012/03/13/qt-using-qwt-in-qt-designer-on-windows-10/
что после сборки Qwt в папке plugins должно лежать два файла: qwt_designer_plugin.dll и qwt_designer_plugin.pdb А у меня лежит только один: qwt_designer_plugin.dll
Записан
Johnik
Крякер
****
Online Online

Сообщений: 339


Просмотр профиля
« Ответ #4 : Март 15, 2014, 14:20 »

что после сборки Qwt в папке plugins должно лежать два файла: qwt_designer_plugin.dll и qwt_designer_plugin.pdb А у меня лежит только один: qwt_designer_plugin.dll
*.pdb - файл отладочных символов, генерируемый компилятором MSVC
Записан
Hrundel
Гость
« Ответ #5 : Март 15, 2014, 14:21 »

Все с точностью до наоборот. Ты опухнешь осваивая библиотеку. А вот рисование через paint event по Шлее освоишь за один день.
Записан
8Observer8
Гость
« Ответ #6 : Март 15, 2014, 14:33 »

*.pdb - файл отладочных символов, генерируемый компилятором MSVC
А я собирал Qwt с помощью mingw. Видимо, тот вариант действительно для MSVC.

Как же Qwt встроить в Qt Designer? Может кто-нибудь показать это на "огурцах"?

Все с точностью до наоборот. Ты опухнешь осваивая библиотеку. А вот рисование через paint event по Шлее освоишь за один день.
Ну, не знаю, надо посмотреть. В Qwt там уже есть готовый пример с динамическим графиком. Поднастроить под свои нужды и всё. А для QCustomPlot вроде туториал хороший: http://www.qcustomplot.com/index.php/tutorials/settingup
« Последнее редактирование: Март 15, 2014, 14:37 от 8Observer8 » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


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

Все с точностью до наоборот. Ты опухнешь осваивая библиотеку. А вот рисование через paint event по Шлее освоишь за один день.
Это спорно. См напр по ссылке "rules" (шкалы с цифирками снизу и слева от графика). Помню делал это руками - не смертельно, но не один час работы. Другое дело что либа применяется без всякого опыта работы с обычным paint, и это не есть хорошо. Ну то уже проблемы ТС

Как же Qwt встроить в Qt Designer?
Зачем? Какова цель этой акции/вояжа?
Записан
8Observer8
Гость
« Ответ #8 : Март 15, 2014, 16:16 »

Зачем? Какова цель этой акции/вояжа?
Цель простая - мне надо QwtPlot разместить на форме.
« Последнее редактирование: Март 15, 2014, 16:18 от 8Observer8 » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #9 : Март 15, 2014, 16:21 »

а ручками не умеешь что ли?

если сильно нужно, то можешь бросить на форму простой виджет и «промоутнуть» его до QwtPlot.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
8Observer8
Гость
« Ответ #10 : Март 15, 2014, 16:25 »

Спасибо! Тоже самое и здесь написано: http://www.qcustomplot.com/index.php/tutorials/settingup

Цитировать
The project is now ready to use QCustomPlot. Place a regular QWidget on your form in the desired location. Right click on it and hit Promote to...

Буду изучать и QCustomPlot и Qwt. Не знаю, что больше понравится Улыбающийся

А других библиотек больше нету что ли? На QML?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #11 : Март 15, 2014, 16:33 »

Цель простая - мне надо QwtPlot разместить на форме.
Ну хотя бы сделать просто "виджет" на форме, а в коде вставить в него QwtPlot
Записан
8Observer8
Гость
« Ответ #12 : Март 15, 2014, 16:59 »

Да, спасибо! Можно и так. Сейчас надо делать как получится, а потом время будет всё же в Designer попытаюсь встроить.
Записан
8Observer8
Гость
« Ответ #13 : Март 15, 2014, 18:41 »

В QCustomPlot всего 4 примера. Один из них у меня не работает: text-document-integration


Записан
8Observer8
Гость
« Ответ #14 : Март 15, 2014, 19:24 »

В Qwt есть подходящий пример. График показывает изменение данных в реальном времени:


Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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