我在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()));
}
如果我正确理解您的代码,您似乎可以直接用QPainter绘制文本,但没有效果(QPainter需要某个地方来绘制)。
为什么不使用内置的QCPItemText?有一个很好的教程如何使用它。
如果您需要进一步的解释或一段代码,请告诉我。
S pozdravom,Pavel