我有一个问题,尝试将场景的内容(拉伸)适应我的QDeclarativeView。我以常规方式加载QML文件。我用下面的代码重写了showEvent和resizeEvent方法:
QGraphicsItem* rootItem = this->scene()->items.at(0);
QRectF rootRect = rootItem->sceneBoundingRect(); // it gives me a QRectF(0,0,1920,1080)
this->fitInView(rootRect, Qt::IgnoreAspectRatio); // Aspect doesn't matters.
问题在于它一直显示着内容周围的一个小白边(几乎4像素)。我已经在1920x1080、1920x1200和1440x900三种分辨率下进行了测试,我的桌面上所有这些分辨率都显示出同样的问题。即使在全屏模式下也保留了小白边。
为了确保这不是内容的问题,我将视图的背景画刷设置为黑色,白色边框变成了黑色(换句话说,内容被缩小得太多以适应视图)。
从硬编码中减去矩形值不是一个选项,因为它根据内容大小变化背景部分。(它应该动态适应)。
有什么建议吗?