需求
qt chart 在打印的时候,因为缩放的问题,导致图标不清晰,需要能够更加清晰一些。
解决
chart 其实主要就是几个部分: 曲线,坐标轴及文字,辅助线
曲线
主要就是加粗即可,使用 QPen
, 修改 width 即可。
QPen pen;
pen.setStyle(Qt::SolidLine); //Qt::SolidLine, Qt::DashLine, Qt::DotLine, Qt::DashDotLine
pen.setWidth(2);
pen.setColor(Qt::red);
series0->setPen(pen); //序列series0的线条设置
坐标轴
为了方便修改也使用 QPen
QPen axis_pen;
axis_pen.setStyle(Qt::SolidLine); //Qt::SolidLine, Qt::DashLine, Qt::DotLine, Qt::DashDotLine
axis_pen.setWidth(3);
axis_pen.setColor(Qt::black);
axisX->setLinePen(axis_pen);
辅助线
辅助线分为两种,一种是文字对应的辅助线,另外一种是文字之间的辅助线.
QPen grid_pen;
grid_pen.setStyle(Qt::DashLine); //Qt::SolidLine, Qt::DashLine, Qt::DotLine, Qt::DashDotLine
grid_pen.setWidth(2);
grid_pen.setColor(Qt::darkGray);
QPen minor_grid_pen;
minor_grid_pen.setStyle(Qt::DotLine); //Qt::SolidLine, Qt::DashLine, Qt::DotLine, Qt::DashDotLine
minor_grid_pen.setWidth(1);
minor_grid_pen.setColor(Qt::darkGray);
axisX->setGridLinePen(grid_pen);
axisX->setMinorGridLinePen(minor_grid_pen);
坐标轴文字
文字一般就是两种方法: 加粗和加大
QFont axis_font = axisX->labelsFont();
axis_font.setBold(true);
int axis_font_point_size = axis_font.pointSize();
axis_font.setPointSize(axis_font_point_size * 2);
axisX->setLabelsFont(axis_font);