1
A
回答
1
最簡單的方法是添加一個不可見的QGraphicsRectItem
作爲第一項。
然後添加其他項目作爲第一個項目的子項目。
第一項的中心是協調中心。
QGraphicsScene *scene = new QGraphicsScene(widget.graphicsView);
// ....
QGraphicsRectItem *frame = scene->addRect(-100,-100,100,100);
frame->setPen(Qt::NoPen);
// ....
// Add new items as children of frame
// Align them relative to their parent
^
|
|
-100,100 | 100,100
+-----------------------------+
| | |
| | |
| | |
| | |
| | |
| | |
| | |
---------------------------+------------------------>
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-----------------------------+
-100,100 | 100,-100
|
,讓其獲取窗口大小,覆蓋這些方法:
class MainForm : public QMainWindow
{
//...
QGraphicsScene *scene; // Move it here
QGraphicsRectItem *frame; // Move it here
protected:
virtual void resizeEvent(QResizeEvent * event);
virtual bool event(QEvent * event);
virtual void resizeAction();
//...
};
void MainForm::resizeAction()
{
QRectF rect(field->rect());
widget.graphicsView->setSceneRect(rect);
widget.graphicsView->fitInView(rect, Qt::KeepAspectRatio);
}
void MainForm::resizeEvent(QResizeEvent * event)
{
resizeAction();
QMainWindow::resizeEvent(event);
}
bool MainForm::event(QEvent * event)
{
if (event->type() == QEvent::Show)
resizeAction();
return QMainWindow::event(event);
}
0
Scene_item.setSceneRect(x0,y0,x1,y1);
相關問題
- 1. QT繪製像素到圖形場景
- 2. Qt場景項目組邊界矩形沒有跟隨旋轉
- 3. 在PyQt中更新Qt場景圖
- 4. 在一個場景中移動一個項目Qt
- 5. 如何在文件中保存Qt圖形場景項並再次打開它?
- 6. 爲什麼第一個添加的項目總是出現在Qt的圖形場景/視圖的中心?
- 7. Qt在移動時在場景位置拖動項目
- 8. QT識別場景中的選定項目
- 9. Qt GraphicsItem轉換影響場景中的所有項目
- 10. QT圖形場景/視圖 - 用鼠標移動
- 11. JavaFX場景調整大小
- 12. 如何更新Qt Widgets項目中的圖形視圖(Qt Creator)
- 13. Qt在現場/視圖的中心添加項目
- 14. 在另一個場景項目下放置無父母場景項目
- 15. 在Qt中向centralWidget添加/調整背景圖片的大小
- 16. Qt的圖形場景鼠標事件傳播
- 17. Qt - 拖放 - 自定義圖形場景 - 事件錯誤
- 18. Qt鼠標事件傳播與場景項目
- 19. 添加紋理到QT OpenGL場景圖
- 20. QMouseEvents在圖形場景不工作
- 21. 在窗口調整大小的圖形項目resize
- 22. 在Qt控制檯場景中未調用析構函數
- 23. 調整Qt中
- 24. 用JavaFX顯示另一個場景[場景圖形問題]
- 25. 調整場景節點大小
- 26. 調整SpriteKit場景的大小
- 27. 如何導出整個Unity項目與所有場景?
- 28. (Qt)渲染場景,不同的項目在相同的相對位置
- 29. 如何調整qt佈局中的項目大小?
- 30. 背景圖像整形
我想,當你調整窗口的大小有圖形的項目也跟着左邊。如果我調整窗口大小,它們會失去初始對齊並最終出現在中心。 – user1845360 2013-04-09 11:12:12
@ user1845360:我更新了我的答案。 – deepmax 2013-04-09 11:16:47
這裏的問題是,隨着窗口大小的增加,我的圖形項目被放大。 – user1845360 2013-04-09 12:47:41