Python pyqtgraph:调用PlotDataItem.setData会给出TypeError:PySide.QtCore.QPointF.\uu添加\uuuuuuuuuu使用错误的参数类型调用
背景Python pyqtgraph:调用PlotDataItem.setData会给出TypeError:PySide.QtCore.QPointF.\uu添加\uuuuuuuuuu使用错误的参数类型调用,python,pyside,pyqtgraph,Python,Pyside,Pyqtgraph,背景 我正在使用pyqtgraph制作一个交互式程序,用于绘制和分析一些数据 相关事物的版本: PySide版本1.2.1 from PySide import QtGui, QtCore pyqtgraph0.9.10版(目前最新版本): 其中: from numpy import r_ self.baseTimeBoxX = r_[0.0,0.0,100.0,100.0,0.0] self.baseTimeBoxY = r_[-1.0,
- 我正在使用
制作一个交互式程序,用于绘制和分析一些数据pyqtgraph
- 相关事物的版本:
- PySide版本1.2.1
from PySide import QtGui, QtCore
0.9.10版(目前最新版本): 其中:pyqtgraph
from numpy import r_ self.baseTimeBoxX = r_[0.0,0.0,100.0,100.0,0.0] self.baseTimeBoxY = r_[-1.0,1.0,1.0,-1.0,-1.0]
- 因此,
是self.w.timeBox
pyqtgraph.graphicsItems.PlotDataItem.PlotDataItem
- 当用户单击绘图时,我只想在X方向上移动长方体。为此,我计算出
,将其添加到self.baseTimeBoxX,现在想更新clickedXCoord
以使用这些x坐标。为此,我打电话self.w.timeBox
self.w.timeBox.setData( x=(clickedXCoord+self.baseTimeBoxX), y=self.baseTimeBoxY )
我基本上犯了同样的错误Traceback (most recent call last): File "doesntMatter.py", line <whatever>, in _moveTimeBox self.w.timeBox.setData(x=(clickedXCoord+self.baseTimeBoxX),y=self.baseTimeBoxY) TypeError: 'PySide.QtCore.QPointF.__add__' called with wrong argument types: PySide.QtCore.QPointF.__add__(numpy.ndarray) Supported signatures: PySide.QtCore.QPointF.__add__(PySide.QtCore.QPointF)
- PySide版本1.2.1
QPointF
@ekhumoro添加一个回溯。回溯比我见过的一些回溯更清晰,但我不想向QPointF添加任何内容。根据文档,setData方法采用与\uuuuu init\uuuuu
方法相同的参数,我所做的调用完全有效。我没有直接调用QPointF。uuu add_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。错误发生在doesntMatter.py
中,而不是在定义setData
的任何地方。愚蠢的我,我是在给self.baseTimeBoxX
添加一个QPointF,而不仅仅是一个标量。谢谢,ekhumoro。回溯看起来很清楚:你只能在另一个QPointF
@ekhumoro中添加一个。回溯比我见过的一些更清楚,但我不想在QPointF中添加任何内容。根据文档,setData方法采用与\uuuuu init\uuuuu
方法相同的参数,我所做的调用完全有效。我没有直接调用QPointF。uuu add_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。错误发生在doesntMatter.py
中,而不是在定义setData
的任何地方。愚蠢的我,我是在给self.baseTimeBoxX
添加一个QPointF,而不仅仅是一个标量。谢谢你,埃克胡洛。
self.w.timeBox.setData(
x=(clickedXCoord+self.baseTimeBoxX),
y=self.baseTimeBoxY
)
Traceback (most recent call last):
File "doesntMatter.py", line <whatever>, in _moveTimeBox
self.w.timeBox.setData(x=(clickedXCoord+self.baseTimeBoxX),y=self.baseTimeBoxY)
TypeError: 'PySide.QtCore.QPointF.__add__' called with wrong argument types:
PySide.QtCore.QPointF.__add__(numpy.ndarray)
Supported signatures:
PySide.QtCore.QPointF.__add__(PySide.QtCore.QPointF)
self.w.timeBox = self.w.dotPlot.plot(
x=(clickedXCoord+self.baseTimeBoxX),
y=self.baseTimeBoxY
)