QGraphicsView背景

发布于 2024-12-27 02:14:59 字数 197 浏览 2 评论 0原文

你好,我正在尝试为我的 QGraphicsScene 获得类似 Photoshop 的行为

。背景中的网格不应随比例调用而调整大小。我必须能够使用 QPixmap::grabWidget(view) 保存图片,但没有背景网格。我可能可以在保存图片之前删除背景图层来做到这一点,但我不确定这是否是最干净的方法。

有什么想法吗?

谢谢。

Hi i'm trying to get a photoshop-like behaviour for my QGraphicsScene

The grid in the background should not resize with the call of scale. And I must be able to save the picture with QPixmap::grabWidget(view) but without the background grid. I can probably do it with removing the background layer just before saving the picture, but i'm not sure if its cleanest way to do it.

Any ideas ?

thx.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诠释孤独 2025-01-03 02:14:59

问题1

背景中的网格不应随着缩放的调用而调整大小。

使用 QGraphicsItem::ItemIgnoresTransformations 标志

该项目忽略继承的转换(即,它的位置是
仍然锚定到其父级,但父级或视图旋转、缩放或
剪切变换被忽略)。该标志对于保持
文本标签项目水平且未缩放,因此它们仍然会
如果视图被转换则可读。设置后,项目的视图
几何体和场景几何体将单独维护。

要设置此标志,请使用 setFlag 创建网格项时的函数。

问题2

我必须能够使用 QPixmap::grabWidget(view) 保存图片,但不能使用
背景网格。

调用隐藏函数在调用 grabWidget 之前在网格项上。抓取后,您可以通过调用 再次显示它显示 函数。

Question 1

The grid in the background should not resize with the call of scale.

Use the QGraphicsItem::ItemIgnoresTransformations flag.

The item ignores inherited transformations (i.e., its position is
still anchored to its parent, but the parent or view rotation, zoom or
shear transformations are ignored). This flag is useful for keeping
text label items horizontal and unscaled, so they will still be
readable if the view is transformed. When set, the item's view
geometry and scene geometry will be maintained separately.

In order to set this flag use the setFlag function when creating the grid item.

Question 2

I must be able to save the picture with QPixmap::grabWidget(view) but without the
background grid.

Call the hide function on the grid item before calling the grabWidget. After you have grabbed it you show it again by calling the show function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文