问题标签 [qgraphicspixmapitem]
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 - QGraphicsItem :模拟不是左上角的项目原点
我的应用程序正在使用 Qt。
我有一个继承QGraphicsPixmapItem的类。
在这些项目上应用变换(例如,旋转)时,项目的原点(或枢轴点)始终是左上角。
我想改变这个原点,例如,在设置项目的位置时,这实际上会改变像素图的中心。
或者,如果我正在应用旋转,则旋转的原点将是像素图的中心。
我还没有找到使用 Qt 直接开箱即用的方法,所以我想像这样重新实现itemChange():
我认为这会起作用,因为Qt 的文档提到项目的位置及其变换矩阵是两个不同的概念。
但它不起作用。
任何的想法 ?
qt - qt - 在 QGraphicsScene 中如何捕捉特定项目
我有很多东西在我的QGraphicsScene
. 情况是我正在创建一个棋盘,并且正在使用图形场景。所以QGraphicsScene
有这么多QGraphicsPixmapItems
。现在在这我怎么能得到国王。
更新:
在此QGraphicsScene
,我添加QGraphicsPixmapItems
的只是硬币(棋盘、国王、女王、士兵等)。现在,如果我想移动一个特定的硬币,比如说金,那么我怎么能得到它。有一些方法,例如使用迭代器。但是有没有办法QGraphicsPixmapItem
通过它的名字找到一个特定的。
c++ - 缩放和变换 Qgraphicspixmapitem
我在缩放和转换时遇到问题QGraphicsPixmapItem
。我创建了图形编辑器,我在其中使用QGraphicsItem
初始大小 100,100,之后我通过setTransform()
方法调整和旋转它。
之后,我将存储此转换并将其用于我的另一个名为 player 的应用程序,在该应用程序中,我使用这些转换并在其上显示图像和视频,QgraphicsPixmapItem
如果我设置缩放和setTransform
图像清晰度的方法,我现在将用于显示图像其清晰度被破坏.
即使我缩放和转换它是否可以保持清晰。我使用的图像是 2560x1440 像素。任何帮助将不胜感激。
代码是:
c++ - 通过键盘移动 QGraphicsPixmapItem
我通过 QgraphicsPixmapitem 添加了一个字符,现在我想通过按键盘上的箭头键来移动它。但我找不到办法。它给出了编译错误。请帮帮我!
moveship.h(我的 QPixmapItem 的头文件)
我只是在检查它是否识别任何按键。
keyPressEvent 的实现:
我的主要源文件:
请帮忙 :(
编辑:
我得到的编译错误是:
错误:没有匹配函数调用'moveship::moveship(QPixmap&)'
moveship * player = new moveship(q);
python - PyQt4 中未显示图像:调试提示
我正在用 PyQt 编写一个应用程序,其中显示了很多图像。我对所有图像都使用基本相同的绘图例程,除了一个位于选项卡小部件中的图像外,它工作正常。这里的绘图例程:
该例程适用于我所有其他 QImageViews/Scenes,因此错误必须在其他地方。我使用 ipdb 和 pyqtRemoveInputHook() 进行调试,但是很难检查对象,因为没有办法在中间方法中显示图像。有任何想法吗?
qt - 如何在 QGraphicsPixmapItem 上添加视觉效果?
我正在使用 Qt 5.5.0。
我想知道一种在QGraphicsPixmapItem
-s 上添加(和删除)简单效果的好方法。
更具体地说,我有多个QGraphicsPixmapItem
-s 在现场移动。当它们发生碰撞时,我希望一个项目暂时变白,然后返回原始像素图项目。
我在 Class 的文档中找到的QGraphicsPixmapItem
唯一可能是我需要的东西就是virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget)
成员。但是我如何使用它来实现我的目标?
qt - QGraphicPixmapItem 双击事件在 QGraphicsTextItem 发送时不会转到父小部件
我在 Qt 中有一个主小部件,这个小部件在其中包含一个QGraphicsView
和QGraphicsScene
。在场景中,我添加了QGraphicsPixmapItem
s 和QGraphicsTextItem
s。在我处理的主要小部件QWidget::mouseDoubleClickEvent ( QMouseEvent * event )
中,我的项目都设置了以下标志:
因为我想在场景中移动项目并选择它们,而且我想在双击发生时主小部件处理它。当我双击QGraphicsTextItem
它进入mouseDoubleClickEvent
主小部件时,但是当我双击QGraphicsPixmap
项目时,它会吸收双击并且不会将其发送到主小部件。此外,当ItemIsFocusable
未设置标志时,QGraphicsTextItem
也会吸收双击事件。为什么会出现?。
我不想实现QGraphicsItem
s 的子类并且想使用已经定义的方法。这是我所做的图片:
qt - 使用 QGraphicsScene 在 Qt 中绘制图像时遇到问题
下面的代码使用 QLabel 加载图像。代码使用:myLabel.setMask(pixmap.mask()); 它可以正常工作。当我尝试使用 QGraphicsScene 加载图像时,问题就出现了。
/li>在这段代码中,我尝试与上面相同,但使用 QGraphicsScene。像素图已正确加载,之后我不确定程序为什么不能正常工作。是因为没有 setMask() 操作吗?或者是否缺少使图像可见所需的操作?
/li>
c++ - 在 QGraphicsScene 中缩放和旋转的 QGraphicsPixmapItem 的奇怪绘图行为
我在 QGraphicsScene 中有一个 QGraphicsPixmapItem,然后我放大并在 QGraphicsView 中旋转。如果没有旋转或者我没有放大太远,一切都很好,但是当我放大(像素非常明显)并围绕奇怪的事情发生旋转时。有时图像看起来如我所料,有时像素图消失(部分或完全),有时水平渐变出现在图像上(即使图像旋转它们也保持水平)。
第一个图像是一个图表(应该没有颜色渐变),上面有一个单独的网格(线条的集合)。第二张图片来自我的最小示例(下图),显示像素图部分缺失(镜头远离像素图边缘)。
以下是一个简单的示例,它演示了我所看到的大部分内容。
与此相关的其他文件是包含图像的资源文件、在其 ui 中保存 View 的 QMainWindow 类,以及执行主窗口类的 main,所有这些都在Github 项目中可用。
使用鼠标滚轮放大并使用箭头键旋转(您也可以使用鼠标平移)。如果放大到足够远并旋转,像素图将在某些角度消失(部分或完全)。在这个例子中,我还无法重新创建渐变,但我怀疑它们只是同一问题的另一种表现形式。
我已经尝试将转换设置为 SmoothTransformation 并将 renderHint 设置为 Antialiasing 和 HighQualityAntialiasing 但两者都没有产生重大影响(抗锯齿确实在高缩放时平滑了锯齿)。此外,我尝试在 QGraphicView、QGraphicsScene 相关绘图中切换许多标志。有谁知道为什么会发生这种情况或我可以尝试解决什么?
我在 2016 年 10 月 18 日下载的 Qt 4.8.2 和 Qt 5.5.1 中都看到了这个问题,作为 Qt 的当前稳定版本。