0

我在QCustomPlot小部件上绘制文本时遇到问题。A 在我的小部件中有几个图表,每个图表都在其名称中包含有关振幅的信息。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()));
}
4

1 回答 1

2

如果我正确理解您的代码,您似乎直接使用 QPainter 绘制文本但没有效果(QPainter 需要在某个地方绘制)。

为什么不使用内置的QCPItemText?关于如何使用它有一个很好的教程。

如果您需要进一步的解释或一段代码,请告诉我。

S pozdravom,帕维尔

于 2013-12-10T14:10:23.250 回答