2013-12-07 8 views
0

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

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())); 
} 

ответ

2

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

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

Сообщите мне, если вам нужно дополнительное объяснение или фрагмент кода.

S pozdravom, Pavel