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>节点中声明了对脚本的依赖:
依赖声明能确保Kodi加载皮肤时自动启用并加载脚本。<requires> <import addon="script.scriptParaSkin" version="1.0.0"/> <!-- 其他依赖 --> </requires> - 确认脚本插件
script.scriptParaSkin已安装且处于启用状态(进入Kodi设置-插件-已安装插件中查看),自定义皮肤已设为当前使用的皮肤并重启Kodi生效。
- 检查自定义皮肤的
启用DEBUG日志排查细节
将Kodi日志级别调至DEBUG(设置-系统-日志-启用调试日志),重新点击按钮后查看日志:- 搜索
RunScript关键词,确认Kodi是否接收到按钮的触发指令,是否尝试加载目标脚本。 - 搜索
mostrar关键词,确认脚本中的日志是否输出,判断函数是否被执行。
- 搜索
直接调用脚本验证功能
跳过皮肤按钮,直接在Kodi调试控制台验证脚本功能:
按Ctrl+Shift+O打开调试控制台,输入RunScript(script.scriptParaSkin,action=mostrar)并执行:- 若弹出提示框,说明脚本本身正常,问题出在皮肤按钮的配置;
- 若仍无反应,说明脚本内部存在逻辑问题,需进一步排查脚本代码。
内容的提问来源于stack exchange,提问作者IvanJ
相关产品推荐
相关产品推荐

