Qwt图:如何减小图例项之间的间距

时间:2018-10-08 19:07:51

标签: c++ qt qwt

我发现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(...)信号。

有什么主意如何在不降低可点击性的情况下缩小间距?

0 个答案:

没有答案