问题标签 [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.
qt - 使用 QGraphicsScene 和 QGraphicsView 在 Qt 中开始使用基于 Tile 的游戏
我将开始在 Qt 中编写一个基于 2D 瓦片的游戏,并阅读有关用于显示和处理大量 2D 对象的 QGraphicsScene 和 QGraphicsView 类。
我的问题是,使用 QGraphicsScene 创建一个包含大量图块的世界是否可行?我可以一次一个地添加整个世界,还是应该尝试实施一些东西来限制该区域?我读过 QGraphicsScene 可以处理“数以千计的项目”,但是 2D 平铺地图可以很容易地变得非常非常大(200x200 平铺?不是很多,但已经有 40,000 个物体,这已经很多了)。
该地图也几乎是静态的,因此可以将其绘制为一个大像素图,但这确实会阻止您使用 QGraphicsScene 中的所有花哨的东西,例如处理鼠标单击独立项目等。最重要的是,我m 将绘制不会与瓷砖网格对齐的玩家、NPC 等。是否有一些优化东西可以使用大量静态对象和一些动态对象?
使用 QGraphicsScene 和 QGraphicsView 甚至是一个好主意,还是我应该尝试在 Qt 中寻找替代方案,或者可能是一个不同的、更面向游戏的库?
提前致谢
qt - Qt中QGraphicsScene的setpixel
只需使用scene.addellipse()等即可轻松绘制直线或椭圆。
现在我应该怎么做才能设置一些像素颜色?我可以使用像 qimage 这样的小部件吗?顺便说一句,性能对我来说是个问题。谢谢
graphics - 关于Qt Graphics View Framework在项目繁多时的效率问题
最近,我使用 QT Graphohics View Framework 开发了一个新的可视化软件。在软件中,我们需要显示很多项目,包括点和线,大约一万以上。但是,在显示的过程中,有池效率,往往没有反应。当我们想对其进行缩放或移除场景的位置时,我们必须等待一个跨度,并且难以承受。所以,我想知道这是否正常以及如何提高效率。谢谢 。
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 论坛上所述的相同问题。
我该如何解决?
python - pyqt 获取图像位置
我有一个 QGraphicsscene,上面有一张图片 QPixmap 到 QGraphicsView。我解决了 QPixmap QGraphicsItem.ItemIsMovable。我想在图片移动时获得图片的位置。我该怎么做?
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 位置要维护的对象。
我觉得我错过了一些重要的视图/场景拼图......
c++ - 在 GraphicsPolygon 中绘制 GraphicsItem
我创建了一个名为 Node 的类,它继承自 GraphicsItem。我还创建了另一个名为 BLock 的类,它继承自 QGraphicsPolygon。
如何在每个 Block 内的不同位置绘制节点?
块.cpp
text - 图片上的Qt文本编辑器
我还没有找到一个确切的问题。
我有一张图片,为了示例,它可能是空白的,或者包含我想添加一个花哨的标题的东西。我想在图片顶部添加文本编辑方式(类似于 Photoshop)。
我正在考虑在按下文本放置按钮时对场景进行子类化QGraphicsScene
和放置子类化对象。QTextEdit
然后,当您单击此对象时,除了编辑文本之外,还可以使用其他文本编辑工具 - 因此您可以将部分文本设置为粗体、斜体、修改颜色、大小等。然后您就可以更改对象的位置 - 我认为QGraphicsScene
默认情况下可以使用。对于背景QBrush
,会有背景图片。
这是一个合理的解决方案吗?
也许有任何现成的例子,但我还没有找到它们。
qt - 为什么我的线宽在具有相同 QPen 宽度的 QGraphicsScene 中看起来不同?
我使用 aQPainter
用以下代码绘制我的小部件:
当我将此项目添加到 aQGraphicsScene
时,线条的宽度有时看起来彼此不同,尤其是当我放大时。谁能解释为什么会发生这种情况以及可以做些什么来解决它?
此屏幕截图演示了该问题:
qt - 用 Qt 画一棵树
我需要用Qt画一棵树,
我在考虑使用QGraphicsScene
和QGraphicsItem
节点。但是由于我希望节点是可移动的,那么如何最好地处理节点之间的线呢?
有什么建议么 ?
谢谢。