Нарисовать текст на QCustomPlot

У меня проблема с отрисовкой текста на виджете QCustomPlot. В моем виджете есть несколько графиков, и каждый из них несет информацию об амплитуде в своем названии. A хотел бы отображать этот текст, когда пользователь нажимает на график в позиции курсора. У меня есть этот код, но он не работает, хотя, когда я включаю MessageBox, значение отображается хорошо:

QCustomPlot *nahlad; //graph
connect(nahlad,    SIGNAL(plottableClick(QCPAbstractPlottable*,QMouseEvent*)), 
   this, SLOT(kliknutieNaGraf(QCPAbstractPlottable*,QMouseEvent*)));
...   

void resultWindow::kliknutieNaGraf(QCPAbstractPlottable *a, QMouseEvent *b) 
{
    QPainter *paint = new QPainter(); paint->drawText( QPoint(b->x(),b->y()), 
        QString("Amplituda je: %1").arg(a->name()) );
    //QMessageBox::about(NULL, QString("Info"), QString("%1").arg(a->name()));
}

person Gresthorn    schedule 07.12.2013    source источник


Ответы (1)


Если я правильно понимаю ваш код, вы, кажется, рисуете текст непосредственно с помощью QPainter, но безрезультатно (QPainter нужно где-то для рисования).

Почему бы не использовать встроенный QCPItemText? Существует хорошее руководство о том, как его использовать.

Дайте мне знать, если вам нужны дополнительные пояснения или фрагмент кода.

С поздравлением, Павел

person Pavel    schedule 10.12.2013