- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在 Python 中使用 PyQt4,但我无法在网上找到任何有关将 PyQt UI 上的 GraphicsView 类中的 2 个不同项目组合在一起的信息。这可能吗?
目标是将一个 QGraphicsPixmapItem 锚定到 GraphicsView 类中的另一个 QGraphicsPixmapItem,以便当一个 QGraphicsPixmapItem 的位置更改或旋转时,另一个会跟随。更重要的是,一个 QGraphicsPixmapItem 是否可以锚定到另一个 QGraphicsPixmapItem 的特定位置?例如。边缘,这样当其他图形项旋转或移动时,锚定图形项将保持在相对于移动项的准确位置。
最佳答案
如果您希望一个项目在最后一个项目旋转或移动时不改变其相对于另一个项目的位置,那么第一个项目是第二个项目的子项目就足够了:
import random
import sys
from PyQt4 import QtCore, QtGui
def create_pixmap(size):
pixmap = QtGui.QPixmap(size)
pixmap.fill(QtGui.QColor(*random.sample(range(255), 3)))
return pixmap
class VariantAnimation(QtCore.QVariantAnimation):
def updateCurrentValue(self, value):
pass
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
w = QtGui.QMainWindow()
scene = QtGui.QGraphicsScene(w)
view = QtGui.QGraphicsView(scene)
parent_item = scene.addPixmap(create_pixmap(QtCore.QSize(150, 150)))
parent_item.setTransformOriginPoint(parent_item.boundingRect().center())
parent_item.setFlag(QtGui.QGraphicsItem.ItemIsMovable, True)
child_item = QtGui.QGraphicsPixmapItem(
create_pixmap(QtCore.QSize(70, 70)), parent_item
)
# or
# child_item = QtGui.QGraphicsPixmapItem(create_pixmap(QtCore.QSize(70, 70)))
# child_item.setParentItem(parent_item)
animation = VariantAnimation(
startValue=0, endValue=360, duration=1000, loopCount=-1
)
animation.valueChanged.connect(parent_item.setRotation)
animation.start()
w.setCentralWidget(view)
w.resize(640, 480)
w.show()
sys.exit(app.exec_())
关于python - 是否可以将一个 QGraphicsPixmapItem 附加到另一个 QGraphicsPixmapItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59870159/
我目前正在 Python 中使用 PyQt4,但我无法在网上找到任何有关将 PyQt UI 上的 GraphicsView 类中的 2 个不同项目组合在一起的信息。这可能吗? 目标是将一个 QGrap
我目前正在 Python 中使用 PyQt4,但我无法在网上找到任何有关将 PyQt UI 上的 GraphicsView 类中的 2 个不同项目组合在一起的信息。这可能吗? 目标是将一个 QGrap
我不久前开始使用 PyQt4,现在我尝试使用 QGraphicsItemAnimation 创建一个小动画。我以前从未使用 PyQt4 这样做过,我总是使用 pygame。必须有不同的图层,qpixm
QGraphicsPixmapItem 和 QGraphicsItem 一样,有一个方法 update(x0, y0, width, height),以便仅在 QGraphicsScene 上部分重绘
我在缩放和转换 QGraphicsPixmapItem 时遇到问题。我创建了图形编辑器,我在其中使用初始大小为 100,100 的 QGraphicsItem,之后我通过 setTransform()
我希望我的 QGraphicsPixmapItem 在 QGraphicScene 上变得可选(即可以更一般的方式点击),但它不是。我实际上是在修改 Qt 的 Diagram Scene sample
我正在使用 QGraphicsScene/View 开发自定义小部件,但我之前没有相关经验。 自定义小部件是一个图像查看器,需要跟踪鼠标移动并向其父对话框/窗口发送信号。信号将是鼠标光标下像素的位置及
我创建了这样的东西。我创建了一个 QGraphicsPixmapItem 对象,可以将其添加到 QGraphicsView 中。我想将端口添加到我创建的这些对象中。我想在这些端口和我创建的对象之间建立
我正在尝试在 PyQt5 中为 QGraphicsPixmapItem 制作动画。程序按原样崩溃,没有任何错误消息,删除有关变量“anime”的行使程序正常工作。 这是 QGraphicsPixMap
首先,我是一个完全的初学者所以请原谅我,如果这个问题很愚蠢或被误导了。我有以下问题,我创建这样的图形 setPixmap(QPixmap(":Graphics/Terrain")); (这是一个正方形
我需要一个对象,它结合了 QGraphicsPixmapItem 和 QGraphicsTextItem(图像 + 文本)的特性。 多重继承是最好的方法还是有任何禁忌症?如果有,您有什么建议? 最佳答
我正在开发一个以 Qt 4.8 作为 GUI 框架的 C++ 应用程序:一个子类 QGraphicsView 渲染一个子类 QGraphicsScene,其中包含一个或多个子类 QGraphicsPi
我想在我的QGraphicsScene中使用QPropertyAnimation为QGraphicsPixmapItem设置动画。 QPixmap pixmap(filePath); QGraphic
我有两个QGraphicsPixmapItem,它们的边缘都是透明的,而且它们不是矩形。当我尝试使用 QGraphicsItem::collidingItems() 时,它只检查它们的边界矩形是否发生
我正在尝试创建自己的 QGraphicsPixmapItem,我可以在其中激活悬停模式,并且我想在悬停在项目的矩形上时绘制黑色边框,并在离开矩形空间时恢复正常。 我开始了这段代码,但不知道接下来要做什
我编写了一个小代码来使用 QtCreator 测试 QGraphicsView 的功能。 代码非常简单,只是创建了一个继承自 QGraphicsView 的类,上面有一个 QGraphicsScene
我继承了 QGraphicsView(类 Display)并实现了从 QTableView 拖放。 QGraphicsScene 中有预先存在的项目,并且 scene()->itemsBounding
我正在尝试实现一个基本游戏... 我按下键盘按钮,但我添加到我的 QGraphicsScene 的 QGraphicsPixmapItem不动,我实现了一个keyPressedEvent函数... 我
我正在使用 QGraphicsScene,我想要一些在移动时发出信号的项目。 不幸的是,QGraphicsPixmapItem 没有任何信号,所以我将它子类化: class InteractiveGr
我在 QGraphicsScene 中有一个 QGraphicsPixmapItem,然后我在 QGraphicsView 中放大并旋转它。如果没有旋转或者我没有放大太多,一切都很好,但是当我放大(像
我是一名优秀的程序员,十分优秀!