繁体   English   中英

嵌入式Qt GraphicsScene坐标

[英]Embedded Qt GraphicsScene coordinates

解决。 我正在使用C ++和Qt创建一个全屏应用程序。 在屏幕l中,有一个graphicsScene(和它的View),它占据了屏幕的一部分。 我不知道如何正确选择坐标。

我希望视图大小与容器的大小匹配。 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);

我解决了最初的问题。 坐标没有错。 在这种情况下,我需要将对齐方式设置到我希望的任何一侧。

如果要适合QGraphicsview中的场景

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

用于设置场景的矩形。如果将矩形的宽度和高度设置为小于或等于视图的宽度,则不会显示滚动条,否则会显示滚动条。

也尝试QGraphicsView :: fitInView()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM