Here the source codes :

setting scene with view :

Qt Code:
  1. void View::setVisualModel(QGraphicsScene * model)
  2. {
  3. qDebug () << this->visualClustersView->rect();
  4. qDebug () << this->visualClustersView->sceneRect();
  5. this->visualClustersView->setScene(model);
  6. this->visualClustersView->setSceneRect(this->visualClustersView->rect);
  7. qDebug () << this->visualClustersView->rect();
  8. qDebug () << this->visualClustersView->sceneRect();
  9. }
To copy to clipboard, switch view to plain text mode 
output :
QRect(0,0 640x480)
QRectF(0,0 0x0)
QRect(0,0 640x480)
QRectF(0,0 640x480)
but real view size is not 640x480.

Source code , what setting the items on scene :

Qt Code:
  1. void Model::calculateNewVisualResult(QStandardItemModel *model)
  2. {
  3. graphicsItems.clear();
  4. this->visualResultModel->clear();
  5. static QFont font("Times",9);
  6. static QFontMetrics fn (font);
  7. static int x = 0;
  8. int y= 0;
  9. static int yGrow = fn.height() -2;
  10. static int maxSize =0;
  11. this->graphicsItems.push_back(this->visualResultModel->addText(model->horizontalHeaderItem(0)->text(),font));
  12. graphicsItems[0]->setPos(x,y);
  13. maxSize = fn.width(graphicsItems.at(0)->toPlainText());
  14. for(int i=1;i<model->rowCount();++i)
  15. {
  16. graphicsItems.push_back(visualResultModel->addText(model->horizontalHeaderItem(i)->text(),font));
  17. graphicsItems[i]->setPos(x,y+yGrow);
  18. y=graphicsItems.at(i)->pos().y();
  19. if (maxSize < fn.width(graphicsItems.at(i)->toPlainText()))
  20. maxSize = fn.width(graphicsItems.at(i)->toPlainText());
  21. }
  22. emit this->visualModelCalculated(maxSize);
  23. }
To copy to clipboard, switch view to plain text mode 

Becouse of fixed view size, my interface resizing to view size,and this looks ugly.
Where is my problem?