「ScrollBarAlwaysOff」の垂直スクロールバーポリシーを持つQGraphicsViewがあります。問題は、ビューのサイズを調整すると(QSplitterを使用するか、ウィンドウのサイズを調整するだけで)、ビューの右側に空白が表示されることがよくあることです。背景が赤でQGraphicsRectItemが黒の例を次に示します。
#include <QtGui>
class MainWindow : public QMainWindow
{
public:
MainWindow()
{
QGraphicsScene *scene = new QGraphicsScene(this);
QRectF rect(-100, -100, 200, 200);
QGraphicsRectItem *rectItem = new QGraphicsRectItem(rect);
rectItem->setBrush(QBrush(Qt::black));
scene->addItem(rectItem);
scene->setSceneRect(rect); //commenting this out doesn't make a difference
QGraphicsView *view = new QGraphicsView(this);
view->setBackgroundBrush(QBrush(Qt::red));
view->setTransformationAnchor(QGraphicsView::AnchorViewCenter);
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setScene(scene);
setCentralWidget(view);
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
問題は次のようになります。
どうすればこれを修正できますか?
編集:画像を少し大きくするには、ここをクリックしてください:http: //i.stack.imgur.com/HeWHJ.png