天天看點

QGraphicsView居中顯示圖元

QGraphicsScene:圖形場景,主要用來添加各種圖元,儲存資料;

QGraphicsView:用來顯示場景中的資料;

QGraphicsItem:各種圖元的基類,在此基礎上可以派生不同圖元類型。

首先定義場景和View;

QGraphicsScene* _graphicsSence;
	QGraphicsView* _graphicsView;
           

搭建一個簡單的場景并且顯示出來:

void GraphicsView::init() {
	_graphicsSence = new QGraphicsScene(this);
	_graphicsView = new QGraphicsView(this);

	QPen pen;
	pen.setColor(QColor(255, 0, 0));
	pen.setWidth(2);
	_graphicsSence->addRect(0.0, 0.0, 100.0, 100.0, pen);

	_graphicsView->setScene(_graphicsSence);

	ui.verticalLayout->addWidget(_graphicsView);
}
           

運作一下:

QGraphicsView居中顯示圖元

發現繪制的矩形并沒有在視圖視窗的左上角,在預設的情況先,圖元是在居中顯示的,設定一下是視圖的對其方式就可以了:

_graphicsView->setAlignment(Qt::AlignLeft | Qt::AlignTop);
           

然後運作一下,圖元已經移到左上角了:

QGraphicsView居中顯示圖元

aaa

繼續閱讀