Python 子类化:uuu init_uuu()接受1个位置参数,但给出了2个
我正在尝试为一个内置的qtui类创建子类。在QtDesigner中,我将QGraphicsView“升级”为“ResultView”,并在加载并使用UI的类中添加includePython 子类化:uuu init_uuu()接受1个位置参数,但给出了2个,python,pyqt5,Python,Pyqt5,我正在尝试为一个内置的qtui类创建子类。在QtDesigner中,我将QGraphicsView“升级”为“ResultView”,并在加载并使用UI的类中添加include uic.loadUi('mainwindow.ui', self) 加载ui工作表的步骤 为了确保正确加载,子类只看起来像这样 from PyQt5 import QtWidgets class ResultView(QtWidgets.QGraphicsView): def __init__(self):
uic.loadUi('mainwindow.ui', self)
加载ui工作表的步骤
为了确保正确加载,子类只看起来像这样
from PyQt5 import QtWidgets
class ResultView(QtWidgets.QGraphicsView):
def __init__(self):
super(ResultView, self).__init__()
除非我遗漏了什么,否则只会创建一个具有不同名称的qgraphicsview
然而,我得到了一个错误
TypeError: __init__() takes 1 positional argument but 2 were given
第二个论点是什么
降级回qgraphicsview修复了这个错误,所以我很确定是这个类中的错误造成的
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.2.2\helpers\pydev\pydevd.py", line 1596, in <module>
globals = debugger.run(setup['file'], None, None, is_module)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.2.2\helpers\pydev\pydevd.py", line 1023, in run
pydev_imports.execfile(file, globals, locals) # execute the script
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.2.2\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:/Users/swalsh/Desktop/Mandelbrot/main.py", line 89, in <module>
window = MainWindow()
File "C:/Users/swalsh/Desktop/Mandelbrot/main.py", line 15, in __init__
uic.loadUi('mainwindow.ui', self)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\__init__.py", line 226, in loadUi
return DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\Loader\loader.py", line 72, in loadUi
return self.parse(filename, resource_suffix, basedir)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 1000, in parse
actor(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 807, in createUserInterface
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 262, in createWidget
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 482, in createLayout
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 525, in handleItem
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 262, in createWidget
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 262, in createWidget
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 482, in createLayout
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 525, in handleItem
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 262, in createWidget
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 262, in createWidget
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 482, in createLayout
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 525, in handleItem
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 262, in createWidget
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 262, in createWidget
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 482, in createLayout
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 525, in handleItem
self.traverseWidgetTree(elem)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 785, in traverseWidgetTree
handler(self, child)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 253, in createWidget
self.stack.push(self.setupObject(widget_class, parent, elem))
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\uiparser.py", line 217, in setupObject
obj = self.factory.createQObject(clsname, name, args, is_attribute)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\objcreator.py", line 124, in createQObject
return self._cpolicy.instantiate(factory, *args, **kwargs)
File "C:\Users\swalsh\Anaconda3\lib\site-packages\PyQt5\uic\Loader\qobjectcreator.py", line 139, in instantiate
return clsObject(*ctor_args)
TypeError: __init__() takes 1 positional argument but 2 were given
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\JetBrains\PyCharm社区版2017.2.2\helpers\pydev\pydevd.py”,第1596行,在
globals=debugger.run(setup['file'],None,None,is_模块)
文件“C:\Program Files\JetBrains\PyCharm Community Edition 2017.2.2\helpers\pydev\pydevd.py”,第1023行,正在运行
pydev_imports.execfile(文件、全局、局部)#执行脚本
文件“C:\Program Files\JetBrains\PyCharm社区版2017.2.2\helpers\pydev\\u pydev\u imps\\u pydev\u execfile.py”,第18行,在execfile中
exec(编译(内容+“\n”,文件,'exec'),全局,loc)
文件“C:/Users/swalsh/Desktop/Mandelbrot/main.py”,第89行,在
窗口=主窗口()
文件“C:/Users/swalsh/Desktop/Mandelbrot/main.py”,第15行,在__
uic.loadUi('mainwindow.ui',self)
loadUi中第226行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\\ uuu init\uuu.py”
返回DynamicUILoader(package).loadUi(uifile,baseinstance,resource_后缀)
loadUi中第72行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\Loader\Loader.py”
返回self.parse(文件名、资源后缀、basedir)
解析中第1000行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
演员(elem)
createUserInterface第807行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createWidget中第262行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createLayout中第482行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
handleItem中的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第525行
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createWidget中第262行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createWidget中第262行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createLayout中第482行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
handleItem中的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第525行
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createWidget中第262行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createWidget中第262行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createLayout中第482行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
handleItem中的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第525行
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createWidget中第262行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createWidget中第262行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
createLayout中第482行的文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”
self.traverseWidgetTree(elem)
文件“C:\Users\swalsh\Anaconda3\lib\site packages\PyQt5\uic\uiparser.py”,第785行,位于traverseWidgetTree中
处理者(自我,孩子)
文件“C:\Users\swalsh\Anaconda3
from PyQt5 import QtWidgets
class ResultView(QtWidgets.QGraphicsView):
def __init__(self, parent):
super(ResultView, self).__init__(parent)
from PyQt5 import QtWidgets
class ResultView(QtWidgets.QGraphicsView):
def __init__(self):
super(ResultView, self).__init__(self.parent)
super(AnotherDialog, self).__init__(parent, **kwargs)