如何修改QGraphicsView的原点为左上角
时间: 2023-10-29 09:06:07 浏览: 36
默认情况下,QGraphicsView的原点位于左上角。如果您的QGraphicsView不是这种情况,可以通过以下方式将其更改为左上角:
1. 在构造函数中设置原点:
```
QGraphicsView::QGraphicsView(QWidget *parent)
: QGraphicsView(parent)
{
setAlignment(Qt::AlignLeft | Qt::AlignTop);
}
```
2. 使用setViewportMargins()函数将视口边距设置为负的场景矩形偏移量:
```
QGraphicsView *view = new QGraphicsView(scene, parent);
view->setViewportMargins(-100, -100, 0, 0);
```
这里将视口边距设置为(-100, -100, 0, 0)以将场景向右下角偏移100像素。您可以根据需要更改这些值。
相关问题
qgraphicsitem将原点设置左上角
QGraphicsItem 默认的坐标原点是在其矩形区域的中心点,如果需要将原点设置在左上角,则需要在重载 QGraphicsItem 的 boundingRect 函数时,返回一个以左上角为原点的矩形区域。例如:
```cpp
class MyItem : public QGraphicsItem
{
public:
QRectF boundingRect() const override
{
return QRectF(0, 0, m_width, m_height);
}
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
{
// 绘制代码...
}
private:
qreal m_width = 100;
qreal m_height = 100;
};
```
在这个例子中,boundingRect 函数返回了一个以左上角为原点,宽度为 m_width,高度为 m_height 的矩形区域。这样,QGraphicsItem 在场景中的位置就是以其左上角为原点的坐标系了。
QGraphicsView左上角有个缩略图
是的,QGraphicsView的左上角通常会显示一个缩略图,它可以让用户快速预览整个场景并在其中进行导航。这个缩略图通常由QGraphicsScene的缩略图生成器提供,你可以通过QGraphicsView的setViewportUpdateMode()函数来设置它的更新模式,以实现更好的性能和交互体验。如果你需要更多的信息,可以查看Qt官方文档中有关QGraphicsView和QGraphicsScene的部分。