Here's my code,quite easy.I want to get the value of itemText->position->pixelPosition ();.But why customPlot->axisRect ()->width () equals zero?
resize (800, 800);
QHBoxLayout* h_layout = new QHBoxLayout (this);
QCustomPlot* customPlot = new QCustomPlot (this);
customPlot->resize (600, 600);
h_layout->addWidget (customPlot);
QCPItemText* itemText = new QCPItemText (customPlot);
itemText->setPositionAlignment (Qt::AlignBottom | Qt::AlignHCenter);
itemText->setText ("Text Item Demo");
itemText->position->setType (QCPItemPosition::ptAxisRectRatio);
itemText->position->setCoords (0.5, 0.5);
QPointF pixelPos = itemText->position->pixelPosition ();
qDebug () << pixelPos;//output :(0,0)
qDebug () << customPlot->axisRect ()->width ();//output :0
int w = customPlot->axisRect ()->width ();//w=0