【问题标题】:Qt4 QGraphicsView: How-to set QPen on float positionQt4 QGraphicsView:如何在浮动位置上设置 QPen
【发布时间】:2010-10-01 06:47:29
【问题描述】:

我有一个带有图像和自定义光标的 QGraphicsView。光标由两条 QPen-DotLine 组成。一条 x 轴点线和一条 y 轴点线。两条线的交叉点是鼠标光标的位置。问题是,当我放大时,十字不在鼠标光标位置下方。例如,当鼠标光标的值为 x = 1.4235 和 y = 2.7732 然后将点线设置在位置 x = 1 和 y = 2。但我希望将点线设置在浮动位置(x = 1.4235 和 y = 2.7732)。我怎样才能做到这一点。

我得到的鼠标位置

def mouseMoveEvent(self,event):
    ...
    ... self.grview.mapToScene(event.pos())
    ...

以及我用 setPos() 设置的点线。 我认为 setPos() 将 float 转换为 int。但我不知道如何解决。希望你们中的某个人有一个有用的想法。

【问题讨论】:

  • 当您说“自定义光标”时,您实际上是在修改系统鼠标指针还是在实际鼠标指针下的场景或视图中进行一些绘图?

标签: qt4 qgraphicsview


【解决方案1】:

我发现了问题。之前实现了一些代码的人使用了“drawEllipse(int x,int y,int width,int height)”,这将float转换为int。所以我唯一要做的就是用“drawEllipse (const QPointF & center, qreal rx, qreal ry)”替换它。 很抱歉给您带来麻烦,谢谢。

【讨论】:

    猜你喜欢
    • 2012-01-18
    • 2010-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 2020-06-07
    • 2011-09-20
    • 2019-08-28
    相关资源
    最近更新 更多