2012-06-05 65 views
0

已解決。我正在用C++和Qt創建一個全屏應用程序。在屏幕上,我有一個graphicsScene(和它的一個視圖),拿出屏幕的一部分。 我無法弄清楚如何獲得正確的座標。嵌入式Qt GraphicsScene座標

l希望視圖大小與容器大小相匹配。 l可以創建比容器更大的視圖,以便有滾動條(最初不想要),但點(0,0)位於左上角(需要此設置)或視圖這是較小的但點(0,0)不再在左上角,有'邊緣'。我希望(0,0)點是左上角,所以我可以以編程方式繪製網格。

scene = new NoteMatrix(LayoutB2); 
view = new QGraphicsView(scene); 
scene->setSceneRect(0,0,view->frameSize().width(), view->frameSize().height()); 
view->fitInView(view->sceneRect()); 
view->setAlignment(Qt::AlignLeft); 
scene->addRect(0, 0, scene->width(), scene->height()); //visualize boundaries 
QWidget *widget = new QWidget(parent); 
widget->setLayout(LayoutB2); 
mainLayout->setStretchFactor(widget, 1); 
setCentralWidget(widget); 

我解決了我最初的問題。座標沒有問題。在這種情況下,我需要將隊列設置爲我希望的任何一方。

回答

0

如果你想的QGraphicsView,以適應現場

view->setScene(YourScene); 
view->setSceneRect(0,0,view->frameSize().width(),view->frameSize().height()); 

使用此設置場景rect..If你的寬度和高度小於或eaual的RECT設置爲views..No滾動條將會顯示,否則會。

也請嘗試QGraphicsView::fitInView()

+0

這並沒有爲我解決它。視圖區域周圍仍有空白區域。我嘗試了這一點,同時也爲場景設置了一個矩形,並且僅將其設置爲視圖。無論如何,謝謝你給我的東西。 – deprecated

+0

我編輯了我的answer.check它了。 – ScarCode

+0

沒有骰子,對不起。有沒有人知道關於這個環境中的座標如何工作的綜合性文章?我已經閱讀過GraphicScene文檔。看起來我需要把它分解成原子來爲自己弄清楚。 :( – deprecated