我现在正在使用python中的Qt应用程序,我在一些位置参数方面遇到了一些问题。
我有两个类,一个名为FrameMark
,另一个MarkerCursor
这两个类都是同一个父类的子类。 FrameMark
工作正常,但当我尝试实例化MarkerCursor
时,我收到此错误:
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
__init__()
函数设置如下:
def __init__(self, frame, parent=None, scene=None):
super(FrameMark, self).__init__(parent, scene)
# ...
def __init__(self, parent=None, scene=None):
super(MarkerCursor, self).__init__(parent, scene)
这是我实例化它们的地方:
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
给了我错误。谢谢!
答案 0 :(得分:0)
问题出现了,因为我不小心放下了:
def MarkerCursor(QGrapihcsRectItem):
而不是:
class MarkerCursor(QGraphicsRectItem):
Python认为它是我正在调用的函数,而不是新的类实例。