问题标签 [qgraphicsscene]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6431 浏览

qt - 使用 QGraphicsScene 和 QGraphicsView 在 Qt 中开始使用基于 Tile 的游戏

我将开始在 Qt 中编写一个基于 2D 瓦片的游戏,并阅读有关用于显示和处理大量 2D 对象的 QGraphicsScene 和 QGraphicsView 类。

我的问题是,使用 QGraphicsScene 创建一个包含大量图块的世界是否可行?我可以一次一个地添加整个世界,还是应该尝试实施一些东西来限制该区域?我读过 QGraphicsScene 可以处理“数以千计的项目”,但是 2D 平铺地图可以很容易地变得非常非常大(200x200 平铺?不是很多,但已经有 40,000 个物体,这已经很多了)。

该地图也几乎是静态的,因此可以将其绘制为一个大像素图,但这确实会阻止您使用 QGraphicsScene 中的所有花哨的东西,例如处理鼠标单击独立项目等。最重要的是,我m 将绘制不会与瓷砖网格对齐的玩家、NPC 等。是否有一些优化东西可以使用大量静态对象和一些动态对象?

使用 QGraphicsScene 和 QGraphicsView 甚至是一个好主意,还是我应该尝试在 Qt 中寻找替代方案,或者可能是一个不同的、更面向游戏的库?

提前致谢

0 投票
1 回答
2090 浏览

qt - Qt中QGraphicsScene的setpixel

只需使用scene.addellipse()等即可轻松绘制直线或椭圆。

现在我应该怎么做才能设置一些像素颜色?我可以使用像 qimage 这样的小部件吗?顺便说一句,性能对我来说是个问题。谢谢

0 投票
2 回答
419 浏览

graphics - 关于Qt Graphics View Framework在项目繁多时的效率问题

最近,我使用 QT Graphohics View Framework 开发了一个新的可视化软件。在软件中,我们需要显示很多项目,包括点和线,大约一万以上。但是,在显示的过程中,有池效率,往往没有反应。当我们想对其进行缩放或移除场景的位置时,我们必须等待一个跨度,并且难以承受。所以,我想知道这是否正常以及如何提高效率。谢谢 。

0 投票
1 回答
468 浏览

qt - 如何使用 Horde3d 和 OpenGL 绘制 Qt 小部件?

我想要的是一个使用 Horde3D 显示 3d 场景并使用 Horde3D(或 OpenGL)在 3D 场景之上绘制 QWidget 的 Qt 应用程序。

基本上我想为我的 3D 场景添加 UI。并且这个 UI 应该使用 OpenGL 来绘制。

我已经成功地学习了这个教程:Accelerate your Widgets with OpenGL和这个教程 - Setup Horde with Qt4

但是当我尝试组合它们时,我可以看到我的 3D 场景,但没有 UI 控件。我将 QGraphicsView、QGraphicsScene 和 QGLWidget 与 Horde3d 一起使用。如果我不使用 Horde3D(我的意思是不要初始化它),那么我的 UI 控件会正确呈现。

我面临Horde3D 论坛上所述的相同问题。

我该如何解决?

0 投票
1 回答
2640 浏览

python - pyqt 获取图像位置

我有一个 QGraphicsscene,上面有一张图片 QPixmap 到 QGraphicsView。我解决了 QPixmap QGraphicsItem.ItemIsMovable。我想在图片移动时获得图片的位置。我该怎么做?

0 投票
2 回答
17316 浏览

python - PyQt:试图理解图形场景/视图

我正在尝试理解 QGraphicsView 和 QGraphicsScene,特别是如何放置图形项并让它们出现在我想要的位置。如果场景大于查看区域,我也对滚动条何时出现感到困惑。

例如,这段代码将创建一个顶部角落有一个椭圆的小图形视图:

但是,如果self.scene.setSceneRect(QtCore.QRectF(0, 0, 245, 245))省略了,则即使椭圆的 x,y = 0,0,椭圆也会出现在窗口的中间。我不知道为什么!这种行为有原因吗?

同样,当场景大小大于视图时,我对滚动条的外观感到困惑。例如,以下代码创建一个带有多个椭圆的视图/场景,并且itemsBoundingRect大于sceneRect. 只显示了一些椭圆,但是没有滚动条可以看到隐藏的,你必须增加窗口的大小。但是当你这样做时,椭圆的位置会发生变化,所以椭圆的 x,y 会被忽略。

如果self.scene.setSceneRect(QtCore.QRectF(0, 0, 200, 200))省略该行,则会出现滚动条。但同样,椭圆的 x,y 位置被忽略,它们在视图中居中。

我想要做的是:创建一个视图,将项目放在我想要的位置,如果项目的数量导致场景大于视图大小,则滚动条会出现,但对于 x,y 位置要维护的对象。

我觉得我错过了一些重要的视图/场景拼图......

0 投票
1 回答
240 浏览

c++ - 在 GraphicsPolygon 中绘制 GraphicsItem

我创建了一个名为 Node 的类,它继承自 GraphicsItem。我还创建了另一个名为 BLock 的类,它继承自 QGraphicsPolygon。

如何在每个 Block 内的不同位置绘制节点?

块.cpp

0 投票
1 回答
530 浏览

text - 图片上的Qt文本编辑器

我还没有找到一个确切的问题。

我有一张图片,为了示例,它可能是空白的,或者包含我想添加一个花哨的标题的东西。我想在图片顶部添加文本编辑方式(类似于 Photoshop)。

我正在考虑在按下文本放置按钮时对场景进行子类化QGraphicsScene和放置子类化对象。QTextEdit然后,当您单击此对象时,除了编辑文本之外,还可以使用其他文本编辑工具 - 因此您可以将部分文本设置为粗体、斜体、修改颜色、大小等。然后您就可以更改对象的位置 - 我认为QGraphicsScene默认情况下可以使用。对于背景QBrush,会有背景图片。

这是一个合理的解决方案吗?

也许有任何现成的例子,但我还没有找到它们。

0 投票
1 回答
1955 浏览

qt - 为什么我的线宽在具有相同 QPen 宽度的 QGraphicsScene 中看起来不同?

我使用 aQPainter用以下代码绘制我的小部件:

当我将此项目添加到 aQGraphicsScene时,线条的宽度有时看起来彼此不同,尤其是当我放大时。谁能解释为什么会发生这种情况以及可以做些什么来解决它?

此屏幕截图演示了该问题:

在此处输入图像描述

0 投票
2 回答
1329 浏览

qt - 用 Qt 画一棵树

我需要用Qt画一棵树,

我在考虑使用QGraphicsSceneQGraphicsItem节点。但是由于我希望节点是可移动的,那么如何最好地处理节点之间的线呢?

有什么建议么 ?

谢谢。