我在尝试将场景的内容(拉伸)适合我的 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 下进行了测试,我桌面上的所有这些分辨率都显示了具有相同问题的内容。即使在全屏模式下,它也会保留白色的小边框。
只是为了确保它与内容无关,我已将视图的背景画笔设置为黑色,并且白色边框变为黑色(换句话说,内容被缩小太多以适应视图)。
一旦根据内容大小改变背景部分,就不能从矩形硬编码中减去值。(它应该动态适应)。
有什么建议么?