You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kodi皮肤按钮调用Python脚本无响应问题求助

Kodi皮肤按钮调用脚本无响应排查方案

以下是针对问题的具体排查步骤,按顺序逐一验证:

  • 检查按钮触发语法正确性
    确保Home.xml中按钮的onclick事件使用Kodi标准的脚本调用格式,脚本ID和参数必须完全匹配:

    <control type="button">
        <label>触发脚本函数</label>
        <!-- 注意脚本ID要和script.scriptParaSkin的addon.xml中id一致,参数格式正确 -->
        <onclick>RunScript(script.scriptParaSkin,action=mostrar)</onclick>
    </control>
    

    特别注意大小写、拼写错误,比如script.scriptParaSkin不能写成script.scriptparaskin,action=mostrar的参数名和值也不能错。

  • 验证脚本的参数处理逻辑
    打开脚本插件的default.py,确认是否正确接收并处理action参数:

    import xbmc
    import xbmcgui
    
    def mostrar():
        # 加日志便于调试,确认函数是否被触发
        xbmc.log("mostrar函数已执行", level=xbmc.LOGDEBUG)
        xbmcgui.Dialog().ok("提示", "脚本函数调用成功")
    
    if __name__ == "__main__":
        import sys
        args = sys.argv[1:]
        # 遍历参数解析action
        for arg in args:
            if arg.startswith("action="):
                action = arg.split("=")[1]
                if action == "mostrar":
                    mostrar()
                    break
    

    若脚本没有正确解析参数,即使按钮触发了RunScript,也不会执行目标函数。

  • 确认皮肤与脚本的依赖和状态

    • 检查自定义皮肤的addon.xml,是否在<requires>节点中声明了对脚本的依赖:
      <requires>
          <import addon="script.scriptParaSkin" version="1.0.0"/>
          <!-- 其他依赖 -->
      </requires>
      
      依赖声明能确保Kodi加载皮肤时自动启用并加载脚本。
    • 确认脚本插件script.scriptParaSkin已安装且处于启用状态(进入Kodi设置-插件-已安装插件中查看),自定义皮肤已设为当前使用的皮肤并重启Kodi生效。
  • 启用DEBUG日志排查细节
    将Kodi日志级别调至DEBUG(设置-系统-日志-启用调试日志),重新点击按钮后查看日志:

    • 搜索RunScript关键词,确认Kodi是否接收到按钮的触发指令,是否尝试加载目标脚本。
    • 搜索mostrar关键词,确认脚本中的日志是否输出,判断函数是否被执行。
  • 直接调用脚本验证功能
    跳过皮肤按钮,直接在Kodi调试控制台验证脚本功能:
    按Ctrl+Shift+O打开调试控制台,输入RunScript(script.scriptParaSkin,action=mostrar)并执行:

    • 若弹出提示框,说明脚本本身正常,问题出在皮肤按钮的配置;
    • 若仍无反应,说明脚本内部存在逻辑问题,需进一步排查脚本代码。

内容的提问来源于stack exchange,提问作者IvanJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:02:30