Russian Qt Forum

Qt => Общие вопросы => Тема начата: 8Observer8 от Март 15, 2014, 12:39



Название: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 15, 2014, 12:39
Привет!

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

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

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

Заранее спасибо за ответы.


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 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/ (http://www.qcustomplot.com/)


Название: Re: Графическое отображение данных на Qt
Отправлено: Hrundel от Март 15, 2014, 13:39
Берешь QLabel и на нем рисуешь через paint event все, что душа пожелает.


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 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


Название: Re: Графическое отображение данных на Qt
Отправлено: Johnik от Март 15, 2014, 14:20
что после сборки Qwt в папке plugins должно лежать два файла: qwt_designer_plugin.dll и qwt_designer_plugin.pdb А у меня лежит только один: qwt_designer_plugin.dll
*.pdb - файл отладочных символов, генерируемый компилятором MSVC


Название: Re: Графическое отображение данных на Qt
Отправлено: Hrundel от Март 15, 2014, 14:21
Все с точностью до наоборот. Ты опухнешь осваивая библиотеку. А вот рисование через paint event по Шлее освоишь за один день.


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 15, 2014, 14:33
*.pdb - файл отладочных символов, генерируемый компилятором MSVC
А я собирал Qwt с помощью mingw. Видимо, тот вариант действительно для MSVC.

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

Все с точностью до наоборот. Ты опухнешь осваивая библиотеку. А вот рисование через paint event по Шлее освоишь за один день.
Ну, не знаю, надо посмотреть. В Qwt там уже есть готовый пример с динамическим графиком. Поднастроить под свои нужды и всё. А для QCustomPlot вроде туториал хороший: http://www.qcustomplot.com/index.php/tutorials/settingup


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

Как же Qwt встроить в Qt Designer?
Зачем? Какова цель этой акции/вояжа?


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 15, 2014, 16:16
Зачем? Какова цель этой акции/вояжа?
Цель простая - мне надо QwtPlot разместить на форме.


Название: Re: Графическое отображение данных на Qt
Отправлено: kambala от Март 15, 2014, 16:21
а ручками не умеешь что ли?

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


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 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?


Название: Re: Графическое отображение данных на Qt
Отправлено: Igors от Март 15, 2014, 16:33
Цель простая - мне надо QwtPlot разместить на форме.
Ну хотя бы сделать просто "виджет" на форме, а в коде вставить в него QwtPlot


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 15, 2014, 16:59
Да, спасибо! Можно и так. Сейчас надо делать как получится, а потом время будет всё же в Designer попытаюсь встроить.


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 15, 2014, 18:41
В QCustomPlot всего 4 примера. Один из них у меня не работает: text-document-integration

(http://i6.pixs.ru/storage/7/1/3/154png_3302411_11247713.png)


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 15, 2014, 19:24
В Qwt есть подходящий пример. График показывает изменение данных в реальном времени:

(http://i6.pixs.ru/storage/6/2/8/155png_8395489_11248628.png)


Название: Re: Графическое отображение данных на Qt
Отправлено: Nidxogg от Март 15, 2014, 19:46
http://www.youtube.com/watch?v=CzY2ztPjbks
Покупай, используй

~20примеров + обычная qt-я документация


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 15, 2014, 20:00
Для общей информации - спасибо! Но платная библиотека пока для меня не подходит.

В Qwt 25 примеров + doxygen-документация :)

У QCustomPlot всего 4 примера, но графики вполне простые и удобные. Документацию можно встроить в Qt для вызова по F1

Ссылка: http://www.qcustomplot.com/index.php/support/documentation

Цитировать
The integration of the qch file is pretty straight forward: Copy the qcustomplot.qch file to a place where it should be stored (e.g. the local QtCreator config directory). In QtCreator, go to the program settings and find the Help section. In the tab Documentation, you see a list of loaded documentation modules and some buttons to add/remove modules. Click the Add... button and select the qcustomplot.qch file in the appearing dialog.
That's it! Now, when you place the cursor on any QCustomPlot related class or function, press F1 and the corresponding documentation entry pops up. Just like you know it from Qt components.


Название: Re: Графическое отображение данных на Qt
Отправлено: alex312 от Март 16, 2014, 09:04
Для общей информации - есть еще http://qt-apps.org/content/show.php/AnalogWidgets?content=87780


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 16, 2014, 09:13
Спасибо большое!

Если ещё будет попадаться информация по поводу построения графиков в Qt (платные и бесплатные библиотеки), то большая  просьба - оставлять здесь ссылочку.


Название: Re: Графическое отображение данных на Qt
Отправлено: panAlexey от Март 16, 2014, 10:10
Вот такая есть альтернатива для Qwt, называется QСustomPlot: http://www.qcustomplot.com/ (http://www.qcustomplot.com/)
спасибо.


Название: Re: Графическое отображение данных на Qt
Отправлено: _Vitaliy_ от Март 29, 2014, 14:54
Цитировать
У QCustomPlot всего 4 примера...
Смею Вас разубедить, если зайти в папку "путь распакованного архива\examples\plots" и запустить plot-examples
в конструкторе MainWindow::MainWindow(QWidget *parent) увидите запись: setupDemo(17) меняете цифру (1-17) и получаете целых 17 примеров.

Хорошего кода.


Название: Re: Графическое отображение данных на Qt
Отправлено: 8Observer8 от Март 29, 2014, 18:32
_Vitaliy_, огромное спсибо! :)