1

Currently, I am writing a code that plots some 2D-Data (splines) using QChartView and QChart. I want to add some graphics objects like rectangles or even images to the graphs. Is this possible? There seem to be no methods like draw rectangle within QChart. My code looks something like this:

QChartView *mainChart; 
QChart *chart; 
chart=new QChart(); 
series_x = new QSplineSeries; {...} chart->addSeries(series_x); 
mainChart->setChart(plot); setCentralWidget(mainChart)

Best regards.

4

2 回答 2

0

您应该尝试使用resizeEvent()QWidget 类中的方法,您可以直接从 QMainWindow 对象中使用该方法。

例如,如果您从 QMainWindow 继承的类称为 PersonalWindow,您将拥有:

个人窗口.h

void resizeEvent(QResizeEvent* event) override;

个人窗口.cpp

void PersonalWindow::resizeEvent(QResizeEvent* event) {
    //
    //  Your own code here.
    //

    //
    QMainWindow::resizeEvent(event);
}

在这种方法中,您可以获得一个成员变量,它是您的窗口的当前大小,并将其设置回您的图表。

于 2020-05-07T09:44:28.123 回答
0

好的....

经过大量研究,我发现了 QGraphicsView 和 QGraphicsScene。这允许添加重叠的小部件。不过,现在我在调整主窗口大小时正在为 QChart 的大小而苦苦挣扎。此外,我发现无法将图表的大小与我正在绘制的主窗口部分相匹配。我尝试了 setMinimumSize、mainwindow->size 之类的东西,但它从来没有出现在它应该在的地方。

当然:图表的坐标系与场景坐标不同。问题是,我想将图形对象与图表中的坐标相关联。

有什么建议么?

谢谢和欢呼安吉丽娜

于 2019-10-10T15:51:05.783 回答