我的QChart中必须有很多QLineSeries。但是QChartView的高度不足以为所有这些放置QLegendMarker,所以我可以看到一些第一个标记,而没有任何控件可以看到其他标记。 而且我不知道如何使图例可滚动。
我可以从图表中断开图例,但是不能将其放入QScrollArea(其他)中,因为它不是QWidget类。同样,这种解决方案无论如何都是临时解决方案。
#include <QApplication>
#include <QtCharts>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QChartView charView;
QChart chart;
charView.setChart(&chart);
for(int i=0; i<20; ++i) {
QLineSeries *series = new QLineSeries(&chart);
for(int x=0; x<30; ++x) {
series->append(x, qrand()%10+i*10);
}
series->setName(QString("testLine_%1").arg(i));
series->setColor(QColor(qrand()%255,qrand()%255,qrand()%255));
chart.addSeries(series);
}
chart.createDefaultAxes();
auto l = chart.legend();
if(l)
l->setAlignment(Qt::AlignRight);
charView.show();
return a.exec();
}