簡體   English   中英

函數至少需要2個參數

[英]function takes at least 2 arguments

我正在為xbmc程序使用python腳本,我可以毫無問題地打開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)錯誤, function takes at least 2 arguments (0 given) 我不知道該怎么辦。

這是日志: http : //pastebin.com/Qacy0UnA

有誰知道我怎么能從addons.py腳本打開test.py?

16:55:23 T:4196錯誤:mydisplay = MyClass()
16:55:23 T:4196錯誤:TypeError:函數接受至少2個參數(給定0)

挖掘xbmcgui.WindowXML的文檔,看看構造函數的參數是什么。

更改

mydisplay = MyClass()

mydisplay = MyClass("script-tvguide-mainmenu.xml", xbmcaddon.Addon().getAddonInfo('path'))

這是因為WindowXMLMyClass的超類,它接受兩個參數,文件名和路徑。 http://mirrors.xbmc.org/docs/python-docs/stable/xbmcgui.html#WindowXML中定義得很好

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM