Qt将窗口坐标原点定位到中心
时间: 2023-09-06 20:09:41 浏览: 111
Qt 获取屏幕坐标
4星 · 用户满意度95%
要将窗口坐标原点定位到中心,可以使用`QGraphicsView`来实现。首先,创建一个`QGraphicsView`对象,并将其设置为中心窗口部件:
```cpp
QGraphicsView *view = new QGraphicsView(this);
setCentralWidget(view);
```
然后,创建一个`QGraphicsScene`对象,并将其设置为`QGraphicsView`的场景。在场景中添加一个`QGraphicsRectItem`对象,它将作为窗口的背景。
```cpp
QGraphicsScene *scene = new QGraphicsScene(view);
view->setScene(scene);
QRectF rect(-width() / 2, -height() / 2, width(), height());
QGraphicsRectItem *background = new QGraphicsRectItem(rect);
background->setBrush(Qt::white);
scene->addItem(background);
```
最后,将视图的中心点设置为场景中心点:
```cpp
view->setSceneRect(rect);
view->setAlignment(Qt::AlignCenter);
```
这样,窗口的坐标原点就被定位到了窗口的中心。
阅读全文