我使用python脚本编写xbmc程序,我可以打开addons.py而不会有任何问题,但是我无法从addons.py打开test.py.我目前在两个不同的文件addons.py和test.py上使用代码。
Addons.py:
import xbmcgui
import xbmcaddon
import buggalo
from test import MyClass
buggalo.SUBMIT_URL = 'http://tommy.winther.nu/exception/submit.php'
try:
w = xbmcgui.WindowXML( "script-tvguide-mainmenu.xml", xbmcaddon.Addon().getAddonInfo('path'), "Default" )
w.doModal()
del w
print 'Hello!'
mydisplay = MyClass()
mydisplay.doModal()
except Exception:
buggalo.onExceptionRaised()
test.py:
print "hello!"
import xbmc
import xbmcgui
#get actioncodes from https://github.com/xbmc/xbmc/blob/master/xbmc/guilib/Key.h
ACTION_MOVE_LEFT = 1
ACTION_MOVE_RIGHT = 2
ACTION_MOVE_UP = 3
ACTION_MOVE_DOWN = 4
class MyClass(xbmcgui.WindowXML):
def onAction(self, action):
if action == ACTION_MOVE_LEFT:
print "You have press on the left arrow button!"
self.close()
if action == ACTION_MOVE_RIGHT:
print "You have press on the right arrow button!"
self.close()
if action == ACTION_MOVE_UP:
print "You have press on the up arrow button!"
self.close()
if action == ACTION_MOVE_DOWN:
print "You have press on the down arrow button!"
self.close()
我真的需要你的帮助,因为当我打开addons.py时,我无法从addons.py打开test.py.它会给我一个function takes at least 2 arguments (0 given)
的错误。我不知道该怎么做。
这是日志: http://pastebin.com/Qacy0UnA
有没有人知道如何从addons.py脚本中打开test.py?
答案 0 :(得分:0)
16:55:23 T:4196错误:mydisplay = MyClass()
16:55:23 T:4196 ERROR:TypeError:函数至少需要2个参数(给定0)
挖掘xbmcgui.WindowXML
的文档,看看构造函数的参数是什么。
答案 1 :(得分:0)
更改
mydisplay = MyClass()
到
mydisplay = MyClass("script-tvguide-mainmenu.xml", xbmcaddon.Addon().getAddonInfo('path'))
这是因为WindowXML
,MyClass
的超类,有两个参数,文件名和路径。它在http://mirrors.xbmc.org/docs/python-docs/stable/xbmcgui.html#WindowXML