【发布时间】:2017-11-11 04:32:22
【问题描述】:
我检查了很多解决方案,但找不到适合我的解决方案。
我的应用中有 QGraphicsScene 和 QGraphicsView:
MyWindow::MyWindow()
{
space = new QGraphicsScene(this);
spaceView = new QGraphicsView(space);
spaceView ->setAlignment(Qt::AlignTop|Qt::AlignLeft);
}
我也有按钮,运行功能:
void MyWindow::addWidget()
{
myWidget *w1= new myWidget(space);
space->addItem(w1);
myWidget *w2 = new myWidget(space);
w2->setPos(10,10);
space ->addItem(w2);
}
它添加了两个对象,但第二个对象应该在不同的坐标上(移动(10,10))。 当我不使用时:
spaceView ->setAlignment(Qt::AlignTop|Qt::AlignLeft);
移动作品,但所有项目都在我的视野中心 - 我不想让它居中。我需要它从左上角定位。使用上面显示的“setAligment”代码更改位置后,什么也不做。两个对象在同一个地方。有人可以告诉我如何从左上角获得定位并使其可以移动吗?
我不想使用:
space->setSceneRect(i.e. 0,0,1000,1000,Qt::);
因为我不想将我的场景限制在右侧。 我也试过用:
spaceView->fitInView();
但它也没有帮助。
【问题讨论】: