Класс QChartView
QChartView — это автономный виджет, который может отображать графики. Подробнее...
| Заголовок: | #include <QChartView> |
| Наследует: | QGraphicsView |
Открытые типы
| перечисление | RubberBand { NoRubberBand, VerticalRubberBand, HorizontalRubberBand, RectangleRubberBand, ClickThroughRubberBand } |
| флаги | RubberBands |
Открытые функции
| QChartView(QChart *chart, QWidget *parent = nullptr) | |
| QChartView(QWidget *parent = nullptr) | |
| виртуальный | ~QChartView() |
| QChart * | chart() const |
| QChartView::RubberBands | rubberBand() const |
| void | setChart(QChart *chart) |
| void | setRubberBand(const QChartView::RubberBands &rubberBand) |
Переопределённые защищённые функции
| виртуальный void | mouseMoveEvent(QMouseEvent *event) override |
| виртуальный void | mousePressEvent(QMouseEvent *event) override |
| виртуальный void | mouseReleaseEvent(QMouseEvent *event) override |
| виртуальный void | resizeEvent(QResizeEvent *event) override |
Подробное описание
Для работы с представлением графика не требуется объект QGraphicsScene. Чтобы отобразить график в существующей QGraphicsScene, следует использовать классы QChart или QPolarChart.
См. также QChart и QPolarChart.
Документация по типам членов
[since 6.2] перечисление QChartView::RubberBandфлаги QChartView::RubberBands
Это перечисление описывает различные типы эффектов резиновых полос, которые могут быть применены к области прямоугольного масштабирования.
| Константа | Значение | Описание |
|---|---|---|
QChartView::NoRubberBand |
0x0 |
Область масштабирования не указана, и поэтому масштабирование отключено. |
QChartView::VerticalRubberBand |
0x1 |
Резиновая полоса зафиксирована по ширине графика и может быть перемещена по высоте, чтобы указать область масштабирования. |
QChartView::HorizontalRubberBand |
0x2 |
Резиновая полоса зафиксирована по высоте графика и может быть перемещена по ширине, чтобы указать область масштабирования. |
QChartView::RectangleRubberBand |
0x3 |
Резиновая полоса фиксируется к точке щелчка и может быть перемещена как по вертикали, так и по горизонтали. |
QChartView::ClickThroughRubberBand |
0x80 |
Вариант из вышеперечисленных вариантов резиновых полос, который позволяет передавать левые щелчки на элементы графика, если эти элементы графика принимают щелчки. Для выбора необходимо выполнить операцию OR с одним из режимов выбора резиновой полосы. |
Это перечисление было введено или изменено в Qt 6.2.
Тип RubberBands является псевдонимом для QFlags<RubberBand>. Он хранит результат операции OR значений RubberBand.
Документация по функциям-членам
QChartView::QChartView(QChart *chart, QWidget *parent = nullptr)
Конструирует объект представления графика с родителем parent для отображения графика chart. Владение графиком передаётся представлению графика.
QChartView::QChartView(QWidget *parent = nullptr)
Конструирует объект представления графика с родителем parent.
[virtual] QChartView::~QChartView()
Удаляет объект представления графика и связанный с ним график.
QChart *QChartView::chart() const
Возвращает указатель на связанный график.
См. также setChart().
[override virtual protected] void QChartView::mouseMoveEvent(QMouseEvent *event)
Реализует: QGraphicsView::mouseMoveEvent(QMouseEvent *event).
Если прямоугольная резиновая полоса отображается в событии нажатия, заданном event, данные события используются для обновления геометрии резиновой полосы. В противном случае вызывается реализация QGraphicsView::mouseMoveEvent() по умолчанию.
[override virtual protected] void QChartView::mousePressEvent(QMouseEvent *event)
Реализует: QGraphicsView::mousePressEvent(QMouseEvent *event).
Если нажата левая кнопка мыши и резиновая полоса включена, событие event принимается, и резиновая полоса отображается на экране. Это позволяет пользователю выбрать область масштабирования.
Если нажата какая-либо другая кнопка мыши или резиновая полоса отключена, событие передаётся в QGraphicsView::mousePressEvent().
[override virtual protected] void QChartView::mouseReleaseEvent(QMouseEvent *event)
Реализует: QGraphicsView::mouseReleaseEvent(QMouseEvent *event).
Если отпущена левая кнопка мыши и резиновая полоса включена, событие event принимается, и представление масштабируется в прямоугольник, заданный резиновой полосой. Если событие вызвано отпусканием правой кнопки мыши, представление масштабируется обратно.
[override virtual protected] void QChartView::resizeEvent(QResizeEvent *event)
Реализует: QGraphicsView::resizeEvent(QResizeEvent *event).
Изменяет размер и обновляет область графика, используя данные, указанные в event.
QChartView::RubberBands QChartView::rubberBand() const
Возвращает флаги резиновой полосы, которые в настоящее время используются представлением графика.
См. также setRubberBand().
void QChartView::setChart(QChart *chart)
Устанавливает текущий график в chart. Владение новым графиком передаётся представлению графика, а владение предыдущим графиком освобождается.
Для предотвращения утечек памяти, предыдущий график должен быть удалён.
См. также chart().
void QChartView::setRubberBand(const QChartView::RubberBands &rubberBand)
Устанавливает флаги резиновой полосы в rubberBand. Выбранные флаги определяют способ выполнения масштабирования.
Примечание: Масштабирование с помощью резиновой полосы не поддерживается для полярных графиков.
См. также rubberBand().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qchartview.html