Подтвердить что ты не робот

Создание участка в Qt

Мне нужно реализовать какой-то сюжет вроде который или который в моем приложении, это может быть даже нечто похожее.

Я сделал поиск на веб-сайте Qt без каких-либо успехов, и я увидел пакет Qwt, но ничего подобного не было.

Любые идеи?

4b9b3361

Ответ 1

Я настоятельно рекомендую Qwt.

Qwt - зрелая, хорошо документированная библиотека и, я считаю, справедливо сказать, стандартное решение для реализации графиков и других виджетов и элементов управления в Qt.

Если вам нужны 3D-графики, попробуйте QwtPlot3D.

Ответ 2

Мне нравится QCustomPlot, который является библиотекой Qt С++. Он фокусируется на создании привлекательных 2D-графиков, графиков и диаграмм качества публикации, а также имеет высокую производительность для приложений визуализации в реальном времени. Вы можете получить его здесь: http://www.qcustomplot.com/

Ответ 3

Я использую Qwt для этого. Хитрость заключается в использовании функции шага (см. Последний пример этой ссылка) и сдвинуть данные на 0,5, чтобы бары были центрированы до клещи. Ниже приведен пример того, что вы можете использовать с альфа-смешиванием и сглаживанием: моя гистограмма. Надеюсь, вы сделаете еще лучше; -)

Ответ 4

В качестве альтернативы Qwt вы также можете рассмотреть qt-plotting-widget, который может быть более простым вариантом.

Ответ 5

Qt не поддерживает печать из коробки.

Самое основное решение - использовать QGraphicsView. Просто отрисуйте свой сюжет, используя различные предметы.

Кроме этого, вы можете следовать этот поток. Он содержит пару указателей на построение фреймворков, но я не знаю, насколько они полезны или они все еще поддерживаются в Qt 4.x.

Ответ 6

Qt 5.6 теперь включает Qt Charts 2.1, который поддерживает гистограммы (как а также 7 других видов).

Ответ 7

QCustomPlot действительно легко начать работу, и есть много типов картографических сюжетов, которые вы можете сделать. Сказав это, по производительности это не так хорошо, как говорят другие люди, если вы намереваетесь строить крупные временные ряды сразу. Он внутренне использует QMap для хранения данных, что означает, что для каждой точки данных, которую вы вставляете или удаляете при заполнении, будет добавлено выделение/выпуск памяти для добавления точки данных к карте. Подробнее см. этот пост.

Еще одна вещь, которая мне не нравится, заключается в том, что даже для простых графиков она использует внутреннюю структуру struct QCPData, которая хранит 6 двойных значений, когда вам обычно нужно два (x и y). То есть, он увеличивает объем памяти, необходимый для отображения временного ряда.