세로 스크롤 막대 정책이 "ScrollBarAlwaysOff"인 QGraphicsView가 있습니다. 문제는 (QSplitter를 통해 또는 창 크기를 조정하여)보기의 크기를 조정할 때 빈 공간이 종종보기의 오른쪽에 나타납니다. 여기에 예를 들어 빨간색 배경과 검은 QGraphicsRectItem와의 : QGraphicsView 스크롤 막대 정책이 예상대로 작동하지 않습니다.
가 어떻게이 문제를 해결할 수 있습니다 다음#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
아쉽게도 PyQt에서이 동작을 재현 할 수 없습니다. PyQt 4.9.1 및 Qt 4.8.1 사용. QGraphicsItem 크기보다 작 으면 일정한 검정색을 얻습니다. 그리고 분명히 QGraphicItem 크기보다 클 때 빨간색 – jdi
@jdi 감사합니다. 4.8.0을 사용하고 있습니다. 4.8.1로 업데이트하여 수정되는지 확인합니다. – Anthony