1.首先说明下,本文章只代表自己个人观点。
我实在想吐槽下qt,以前使用qchat绘制椭圆。我创建一个椭圆类,然后将椭圆类加入到view,然后添加数据根本没有问题。
今天做了下绘制曲线的,用同样的方法,创建一个椭圆类,然后添加到view,接着添加数据,结果根本不显示,找了半天不知道问题在哪,网上也没找到,最后我试下把数据先添加进去,然后在添加到view,就显示了。我TMD是真服。
最后看下代码:
QChartView *m_pChartView=new QChartView(this);
QVBoxLayout *mainLayout=new QVBoxLayout(this);
mainLayout->addWidget(m_pChartView);
mainLayout->setMargin(0);
mainLayout->setSpacing(0);
this->setLayout(mainLayout);
QLineSeries *m_pLineSeris = new QLineSeries(this);
// m_pChartView->chart()->legend()->setAlignment(Qt::AlignBottom);
// m_pChartView->chart()->setTheme(QChart::ChartThemeBlueCerulean);
// m_pChartView->chart()->setAnimationOptions(QChart::AllAnimations);
// m_pChartView->chart()->layout()->setContentsMargins(0, 0, 0, 0);
QValueAxis *m_pxAxis = new QValueAxis();
QValueAxis *m_pyAxis = new QValueAxis();
m_pLineSeris->append(0, 6);
m_pLineSeris->append(2, 4);
m_pLineSeris->append(3, 8);
m_pLineSeris->append(7, 4);
m_pLineSeris->append(10, 5);
m_pChartView->chart()->addSeries(m_pLineSeris);
m_pChartView->chart()->addAxis(m_pxAxis, Qt::AlignBottom);
m_pChartView->chart()->addAxis(m_pyAxis, Qt::AlignLeft);
m_pxAxis->setRange(0, 20);
m_pyAxis->setRange(0, 50);
重要的事情说3遍。
qchart绘制曲线一定要先添加数据。在添加到view!!!!
qchart绘制曲线一定要先添加数据。在添加到view!!!!
qchart绘制曲线一定要先添加数据。在添加到view!!!!