Python 类构造函数中的位置参数问题
我现在正在用python开发一个Qt应用程序,在一些位置参数方面遇到了一些问题 我有两个类,一个名为FrameMark,另一个名为MarkerCursor,它们都是同一父类的子类。FrameMark工作正常,但当我尝试实例化MarkerCursor时,出现以下错误:Python 类构造函数中的位置参数问题,python,qt,Python,Qt,我现在正在用python开发一个Qt应用程序,在一些位置参数方面遇到了一些问题 我有两个类,一个名为FrameMark,另一个名为MarkerCursor,它们都是同一父类的子类。FrameMark工作正常,但当我尝试实例化MarkerCursor时,出现以下错误: Traceback (most recent call last): File "frame_controls.py", line 360, in <module> main() File "frame_
Traceback (most recent call last):
File "frame_controls.py", line 360, in <module>
main()
File "frame_controls.py", line 355, in main
w = Window(sys.argv[1])
File "frame_controls.py", line 62, in __init__
self.timeline = Timeline(self.frames)
File "frame_controls.py", line 322, in __init__
self.markerCursor = MarkerCursor(None, self)
TypeError: MarkerCursor() takes 1 positional argument but 2 were given
这里是我实例化它们的地方:
for i in range(len(self.frames)):
mark = FrameMark(self.frames[i], None, self)
self.marks.append(mark)
# Make the cursor marker
self.markerCursor = MarkerCursor(None, self)
我不知道为什么FrameMark工作正常,但MarkerCursor给了我错误。谢谢 问题的出现是因为我不小心放下了:
def MarkerCursor(QGrapihcsRectItem):
而不是:
class MarkerCursor(QGraphicsRectItem):
Python认为这是我调用的一个函数,而不是一个新的类实例。它们继承自的超类的_uinit_uu签名是什么?你确定没有用其他东西来隐藏MarkerCursor吗?@BrenBarn它们都继承自QGraphicsRectItem,文档在这里,但我不确定这是否是问题所在。@Brunodesshuilliers你说的阴影是什么意思?你是说超载吗?如果是这样,则没有其他地方可以在源代码中写入MarkerCursor。可能的话,但名称MarkerCursor可能与您假定的名称没有绑定-例如,星形导入可以轻松地重新绑定以前导入的名称。只需在该行插入调试器,然后检查MarkerCursor在该行真正引用的内容。
class MarkerCursor(QGraphicsRectItem):