QChartView Class

QChartView 是一个可显示图表的独立部件。更多

Header: #include <QChartView>
Inherits: QGraphicsView

公共类型

(since 6.2) enum RubberBand { NoRubberBand, VerticalRubberBand, HorizontalRubberBand, RectangleRubberBand, ClickThroughRubberBand }
flags RubberBands

公共函数

QChartView(QWidget *parent = nullptr)
QChartView(QChart *chart, QWidget *parent = nullptr)
virtual ~QChartView()
QChart *chart() const
QChartView::RubberBands rubberBand() const
void setChart(QChart *chart)
void setRubberBand(const QChartView::RubberBands &rubberBand)

重新实现的受保护函数

virtual void mouseMoveEvent(QMouseEvent *event) override
virtual void mousePressEvent(QMouseEvent *event) override
virtual void mouseReleaseEvent(QMouseEvent *event) override
virtual void resizeEvent(QResizeEvent *event) override

详细说明

图表视图不需要QGraphicsScene 对象即可运行。要在现有的QGraphicsScene 中显示图表,应使用QChartQPolarChart 类。

另请参阅 QChartQPolarChart

成员类型文档

[since 6.2] 枚举 QChartView::RubberBand
flags QChartView::RubberBands

该枚举描述了可应用于矩形缩放区域的不同类型的橡皮筋效果。

常量说明
QChartView::NoRubberBand0x0未指定缩放区域,因此无法启用缩放。
QChartView::VerticalRubberBand0x1橡皮筋水平锁定为图表尺寸,可垂直拉动以指定缩放区域。
QChartView::HorizontalRubberBand0x2橡皮筋与图表的尺寸垂直锁定,可以水平拉动橡皮筋来指定缩放区域。
QChartView::RectangleRubberBand0x3橡皮筋固定在点击点上,可以垂直和水平拉动。
QChartView::ClickThroughRubberBand0x80上述橡皮筋选项中的一个选项允许将左键点击传递给图表项(如果这些图表项接受点击)。要选择该选项,请将其与橡皮筋选择模式之一一起使用。

此枚举在 Qt 6.2 中引入。

RubberBands 类型是QFlags<RubberBand> 的类型定义。它存储 RubberBand 值的 OR 组合。

成员函数文档

[explicit] QChartView::QChartView(QWidget *parent = nullptr)

使用父parent 构建图表视图对象。

[explicit] QChartView::QChartView(QChart *chart, QWidget *parent = nullptr)

使用父parent 构建图表视图对象,以显示图表chart 。图表的所有权将传递给图表视图。

[virtual noexcept] 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() 。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.