测试代码:

void OsgEarthGraphicsView::resizeEvent(QResizeEvent* event)
{
    //if (scene())
    //{
    //    scene()->setSceneRect(QRect(QPoint(0, 0), event->size()));
    //}

    QRect rect = this->rect();
    std::cout << "this->rect()" << std::endl;
    std::cout << rect.x() << ' ' << rect.y() << ' ' << rect.width() << ' ' << rect.height() << ' ' << std::endl;

    QSize thissize = this->size();
    std::cout << "this->size()" << std::endl;
    std::cout << thissize.width() << ' ' << thissize.height() << std::endl;

    QSize size = event->size();
    std::cout << "event->size()" << std::endl;
    std::cout << size.width() << ' ' <<  size.height() << std::endl;
}

结果:

Qt 中 this->size() this->rect() event->size() 三者差异

 

 event->size()要比前两者要小一点,估计是窗口边框的缘故。感觉和文档说的并不一致。

Qt 中 this->size() this->rect() event->size() 三者差异

 

Qt 中 this->size() this->rect() event->size() 三者差异

 

 

 

Qt 中 this->size() this->rect() event->size() 三者差异

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-04
  • 2022-12-23
  • 2021-10-28
猜你喜欢
  • 2021-08-21
  • 2022-02-07
  • 2021-10-21
  • 2021-08-27
  • 2021-06-23
  • 2022-02-28
  • 2022-12-23
相关资源
相似解决方案