Russian Qt Forum

Qt => Вопросы новичков => Тема начата: van_de_luxe от Декабрь 21, 2016, 23:01



Название: Какими средствами можно это нарисовать?
Отправлено: van_de_luxe от Декабрь 21, 2016, 23:01
Хочу нарисовать несколько графиков, подобно рисунку.  Они будут накладываться и должны быть полупрозрачными. Потом на них еще будет накладываться курсор.  Подскажите какими средствами это удобнее сделать и чтобы не сильно долго рисовалось.


Название: Re: Какими средствами можно это нарисовать?
Отправлено: __Heaven__ от Декабрь 22, 2016, 09:12
Кажется, qwt это должна осилить


Название: Re: Какими средствами можно это нарисовать?
Отправлено: van_de_luxe от Декабрь 22, 2016, 14:41
А какие еще есть варианты?
Несколько раз видел упоминание Arthur, но что это такое так и не понял, примеров в Qt 5.5 нет. Еще не понял возможно ли это реализовать с использованием QCanvas, QPainter
Насколько сложно будет это реализовать с использованием OpenGL? (я понимаю, что придется тогда самому все примитивы рисовать, а может и есть какие библиотеки для графиков на основе GL?)
Сам выбрать не знаю что, глаза разбегаются, а в голове каша, не пойму какие встроенные средства есть для рисования и какие у них возможности. Хотелось бы сторонние библиотеки не привлекать, если получится


Название: Re: Какими средствами можно это нарисовать?
Отправлено: ViTech от Декабрь 22, 2016, 15:02
Сам не пользовался, но может подойдёт: Qt Charts (http://doc.qt.io/qt-5/qtcharts-index.html), использовать Qt Quick (Qt Quick Examples (http://doc.qt.io/qt-5/qtquick-canvas-example.html)).


Название: Re: Какими средствами можно это нарисовать?
Отправлено: Old от Декабрь 22, 2016, 15:15
Такое легко рисуется через старый добрый QPainter. :)
И вот вам тема, в которой вы найдете все остальные ответы: http://www.prog.org.ru/topic_6004_30.html


Название: Re: Какими средствами можно это нарисовать?
Отправлено: kuzulis от Декабрь 22, 2016, 18:13
Проще взять Qwt, там есть пример CPU-блабла  (http://qwt.sourceforge.net/curvescreenshots.html) где именно то что нужно. Кроме того, если понадобится добавление всяких маркеров и прочего, то опять - же, в Qwt это все есть.

PS: Делать самому - это бррр... т.к. затратнее выйдет в итоге.


Название: Re: Какими средствами можно это нарисовать?
Отправлено: Racheengel от Декабрь 22, 2016, 18:15
Можно и Qwt, но смотря что за "курсор" вам нужен и какое поведение. Qwt не очень-то гибкая в этом смысле.


Название: Re: Какими средствами можно это нарисовать?
Отправлено: kuzulis от Декабрь 22, 2016, 18:19
Цитировать
Qwt не очень-то гибкая в этом смысле.

Хм... ну, а разве QtCharts гибкая? Оно еще и под GPL в придачу :(

Как по мне, то Qwt достаточно гибок, но у него концепция несколько "странная"... А в остальном  - вроде норм.


Название: Re: Какими средствами можно это нарисовать?
Отправлено: Igors от Декабрь 23, 2016, 08:55
Подскажите какими средствами это удобнее сделать и чтобы не сильно долго рисовалось.
Простейшими - просто рисовать без затей. Здесь не видно трудностей/проблем чтобы искать что-то "особенное"


Название: Re: Какими средствами можно это нарисовать?
Отправлено: gil9red от Декабрь 23, 2016, 10:24
Подскажите какими средствами это удобнее сделать и чтобы не сильно долго рисовалось.
Простейшими - просто рисовать без затей. Здесь не видно трудностей/проблем чтобы искать что-то "особенное"

Тем, кто таким не занимался раньше такое нарисовать вовсе не просто :)

Кст, плавная кривая линия между точками, это кривая Безье?


Название: Re: Какими средствами можно это нарисовать?
Отправлено: Igors от Декабрь 23, 2016, 14:47
Тем, кто таким не занимался раньше такое нарисовать вовсе не просто :)

Кст, плавная кривая линия между точками, это кривая Безье?
А в чем эта "непростота"? Любые кривые должны быть заданы чтобы их можно было нарисовать. Грубо говоря "формулы дадут" (для Безье они тоже давно известны). Ну и рисуете линии от одной точки к другой. Заливка гистограмм очевидна - тоже линии. Остаются еще кружки с градиентом - уж не их ли Вы испугались?  :)



Название: Re: Какими средствами можно это нарисовать?
Отправлено: Racheengel от Декабрь 24, 2016, 00:54
Ну тут опять же, смотря шо автору нада...
Если цель - один статический виджет в одном месте, то можно и паинтером накалякать.
Если же тут все более глобально и таких графиков будет 100500, то уже стоит задумаццо... Может и кувт, а может свой виджет сделать имеет смысл.


Название: Re: Какими средствами можно это нарисовать?
Отправлено: arhiv6 от Январь 10, 2017, 12:51
Посмотрите QCustomPlot (http://www.qcustomplot.com), у них в примерах есть похожее.


Название: Re: Какими средствами можно это нарисовать?
Отправлено: sergek от Январь 10, 2017, 13:13
Посмотрите QCustomPlot (http://www.qcustomplot.com), у них в примерах есть похожее.
Тоже GPL, как и Qt Charts.