练习QtChart图例显示的时候发现图例太小了,如下图所示
设置图例大小后,有所改善,但是没有达到我想要的效果,下图是我重设字体的效果
如何设置前面的矩形颜色显示的地方大于字体,达到的效果如下所示
//头文件
#pragma once
#include <QScatterSeries>
#include <QtCharts/QChartView>
QT_CHARTS_USE_NAMESPACE
class TestChartView :public QChartView
{
Q_OBJECT
public:
explicit TestChartView(QWidget *parent = Q_NULLPTR);
~TestChartView();
private:
QList<QScatterSeries *>m_series;
};
//cpp文件
#include "testchartview.h"
#include <QLegend>
TestChartView::TestChartView(QWidget *parent)
: QChartView(new QChart(),parent)
{
QStringList list;
list << "0"
<< "2"
<< "5"
<< "10"
<< "20"
<< "50"
<< "100"
<< "200"
<< ">200";
QList<QRgb> reg_list;
reg_list
<< qRgb(255, 255, 200)
<< qRgb(254, 254, 55)
<< qRgb(254, 212, 133)
<< qRgb(55, 254, 55)
<< qRgb(82, 163, 82)
<< qRgb(220, 195, 165)
<< qRgb(180, 79, 57)
<< qRgb(55, 55, 254)
<< qRgb(254, 55, 55);
int list_siz = list.size();
m_series.reserve(list_siz);
QScatterSeries * seric = nullptr;
setRenderHint(QPainter::Antialiasing);
for (int i = 0; i < list_siz; i++)
{
seric = new QScatterSeries(this);
seric->setName(list.at(i));
seric->setMarkerShape(QScatterSeries::MarkerShapeRectangle);
seric->setColor(QColor(reg_list.at(i)));
chart()->addSeries(seric);
m_series.push_back(seric);
}
QFont font = chart()->legend()->font();
font.setPointSize(18);
chart()->legend()->setFont(font);
chart()->legend()->setAlignment(Qt::AlignRight);
chart()->createDefaultAxes();
chart()->setDropShadowEnabled(false);
}
TestChartView::~TestChartView()
{
}