首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt.将小部件添加到QChart、QChartview

Qt.将小部件添加到QChart、QChartview
EN

Stack Overflow用户
提问于 2019-10-10 17:02:13
回答 2查看 317关注 0票数 1

目前,我正在编写一个使用QChartView和QChart绘制一些2D数据(样条曲线)的代码。我想在图形中添加一些图形对象,比如矩形甚至图像。这个是可能的吗?在QChart中似乎没有像draw rectangle这样的方法。我的代码看起来像这样:

代码语言:javascript
复制
QChartView *mainChart; 
QChart *chart; 
chart=new QChart(); 
series_x = new QSplineSeries; {...} chart->addSeries(series_x); 
mainChart->setChart(plot); setCentralWidget(mainChart)

诚挚的问候。

EN

回答 2

Stack Overflow用户

发布于 2019-10-10 23:51:06

好的..。

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

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

有什么建议吗?

谢谢和干杯安吉丽娜

票数 0
EN

Stack Overflow用户

发布于 2020-05-07 17:44:28

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

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

PersonalWindow.h

void resizeEvent(QResizeEvent* event) override;

PersonalWindow.cpp

代码语言:javascript
复制
void PersonalWindow::resizeEvent(QResizeEvent* event) {
    //
    //  Your own code here.
    //

    //
    QMainWindow::resizeEvent(event);
}

在此方法中,您可以获取当前窗口大小的成员变量,并将其设置回图表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58319169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档