Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x TypeError:uuu init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu__没有建筑商';基维_Python 3.x_Kivy - Fatal编程技术网

Python 3.x TypeError:uuu init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu__没有建筑商';基维

Python 3.x TypeError:uuu init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu__没有建筑商';基维,python-3.x,kivy,Python 3.x,Kivy,我试图在我的代码中添加一个def\uuuu init\uuuuuu(self),当我运行kivy程序时,我得到以下信息: Traceback (most recent call last): File "/Users/acrobat/Desktop/dive/test.py", line 78, in <module> ''') File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3

我试图在我的代码中添加一个
def\uuuu init\uuuuuu(self)
,当我运行kivy程序时,我得到以下信息:

Traceback (most recent call last):
   File "/Users/acrobat/Desktop/dive/test.py", line 78, in <module>
     ''')
   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/kivy/lang.py", line 1921, in load_string
     self._apply_rule(widget, parser.root, parser.root)
   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/kivy/lang.py", line 2085, in _apply_rule
     self._apply_rule(child, crule, rootrule)
   File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/kivy/lang.py", line 2082, in _apply_rule
     child = cls(__no_builder=False)
 TypeError: __init__() got an unexpected keyword argument '__no_builder'
我没有使用kv lang文件,因此以下是我的构建代码:

root = Builder.load_string('''
Widget:
    Widget:
        PlayerImage:
            source: './rpgArt/person.zip'
            allow_stretch: True
            keep_ratio: True
        PlayerImage2:
            source: './rpgArt/personred.zip'
            allow_stretch: True
            keep_ratio: True
''')
编辑:添加kivy标签

替换:

def __init__(self):
    super().__init__()
与:

您正在创建对象的子类,而不传递Kivy所需的关键字参数

我也不认为Kivy需要
\uuu init\uuu()
,我认为它可能会自动从家长那里为您查找,但我不确定


编辑:正如Kevin在评论中所说,因为您使用的是Python 3,所以可以使用
super()
的零参数,这同样有效

def\uuuuu init\uuuuuuuuuuuuu(self,**kwargs):超级(PlayerImage,self)。\uuuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuurgs(**kwargs)
当你尝试它?(我的工作机器上没有Kivy,但我怀疑你的子类中没有包含**kwargs)嘿,它可以工作,但我不能接受你的评论hahathanks的帮助,如果有人要求,我确实需要你在创建时为自定义属性定义init(…)。因为我们在3.X中,不可能继续使用super的零参数形式吗?只是为了简洁起见。@Kevin没有读标记,我以为它只是Python,你又一次说对了。
def __init__(self):
    super().__init__()
def __init__(self, **kwargs): 
    super(PlayerImage, self).__init__(**kwargs)