目前,我正在编写一个使用QChartView和QChart绘制一些2D数据(样条曲线)的代码。我想在图形中添加一些图形对象,比如矩形甚至图像。这个是可能的吗?在QChart中似乎没有像draw rectangle这样的方法。我的代码看起来像这样:
QChartView *mainChart;
QChart *chart;
chart=new QChart();
series_x = new QSplineSeries; {...} chart->addSeries(series_x);
mainChart->setChart(plot); setCentralWidget(mainChart)诚挚的问候。
发布于 2019-10-10 23:51:06
好的..。
经过大量研究,我找到了QGraphicsView和QGraphicsScene。这允许添加覆盖窗口小部件。不过,现在我正在为调整主窗口大小时QChart的大小而苦苦挣扎。此外,我发现没有办法将图表的大小与我正在绘制的主窗口的部分相匹配。我尝试了像setMinimumSize,mainwindow->size这样的东西,但它从来没有出现在它应该在的地方。
当然:图表的坐标系与场景坐标不同。问题是,我希望将图形对象与图表中的坐标相关联。
有什么建议吗?
谢谢和干杯安吉丽娜
发布于 2020-05-07 17:44:28
您应该尝试从可以直接从QMainWindow对象使用的QWidget类中使用resizeEvent()方法。
例如,如果从QMainWindow继承的类名为PersonalWindow,您将拥有:
PersonalWindow.h
void resizeEvent(QResizeEvent* event) override;
PersonalWindow.cpp
void PersonalWindow::resizeEvent(QResizeEvent* event) {
//
// Your own code here.
//
//
QMainWindow::resizeEvent(event);
}在此方法中,您可以获取当前窗口大小的成员变量,并将其设置回图表。
https://stackoverflow.com/questions/58319169
复制相似问题