我发现Qwt图的图例中的行间距非常大。我想在图例中放入更多项目,而无需滚动并且不增加图例的大小。
是否可以减少或删除图例中项目之间的间距?
编辑:
这就是我得到的
这就是我想要的
这是一个示例代码,显示了如何将曲线添加到图,然后将其显示在图例中。它不能完全重现上面的图,但是显示了原理:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QwtPlot* plot = new QwtPlot(this);
setCentralWidget(plot);
// Add curves
for(int i=0; i<15; i++){
QwtPlotCurve *curve = new QwtPlotCurve( "Curve " + QString::number(i) );
curve->attach( plot );
curve->setPen( Qt::blue, 2 );
curve->setLegendAttribute( QwtPlotCurve::LegendShowLine );
}
// Add legend
QwtLegend *legend = new QwtLegend();
legend->setDefaultItemMode(QwtLegendData::Clickable); // make items clickable
connect(legend, SIGNAL(clicked(const QVariant &, int)), this, SLOT(onLegendItemClicked(const QVariant &,int)) );
plot->insertLegend( legend, QwtPlot::LeftLegend );
}
如果我删除行
legend->setDefaultItemMode(QwtLegendData::Clickable);
图例项之间的间距减小了一点(仍然没有我想要的那样减小),但是当单击该项时,不会发出clicked(...)信号。
有什么主意如何在不降低可点击性的情况下缩小间距?