HOW-TO:HelloWorld addon: Difference between revisions
Appearance
>Martijn |
>Martijn |
||
| Line 25: | Line 25: | ||
time = 5000 #in miliseconds | time = 5000 #in miliseconds | ||
xbmc.executebuiltin('Notification( | xbmc.executebuiltin('Notification(__addonname__,line1,time,__icon__)') | ||
</source> | </source> | ||
===using xbmcgui module=== | ===using xbmcgui module=== | ||
Revision as of 21:30, 9 January 2013
Introduction
This How To will explain several ways of showing a "Hello World" popup on screen
Examples
Using xbmc modules
Simple example using xbmc python modules showing a notification dialog that will show for 5 seconds.
using build-in functions
More info on Built-In functions can be found here: List_of_built-in_functions
import xbmc
import xbmcaddon
__addon__ = xbmcaddon.Addon(id='script.hello.world')
__addonname__ = __addon__.getAddonInfo('name')
__icon__ = __addon__.getAddonInfo('icon')
line1 = "This is a simple example of notifications"
time = 5000 #in miliseconds
xbmc.executebuiltin('Notification(__addonname__,line1,time,__icon__)')
using xbmcgui module
This will show a OK dilaog box with the message More info on xbmcgui functions can be found here: [ http://mirrors.xbmc.org/docs/python-docs/xbmcgui.html#Dialog ]
import xbmc
import xbmcaddon
import xbmcgui
__addon__ = xbmcaddon.Addon(id='script.hello.world')
__addonname__ = __addon__.getAddonInfo('name')
__icon__ = __addon__.getAddonInfo('icon')
line1 = "This is a simple example of OK dialog"
line2 = "Showing this message using"
line3 = "XBMC python modules"
xbmcgui.Dialog().ok(__addonname__, line1, line2, line3)
Using JSON-RPC
Using xbmc modules & JSON-RPC API
More info on JSON-RPC API can be found here: JSON-RPC_API
This JSON-RPC command send through various ways and will execute the addon code that is shown below.
{
'jsonrpc': '2.0',
'id': 0,
'method': 'Addons.ExecuteAddon',
'params': {
'addonid': 'script.popup',
'params': {
'image': 'D:\\heartagram.jpg',
'line1': 'Hello World',
'line2': 'Showing this message using',
'line3': 'Combination of XBMC python modules and',
'line4': 'JSON-RPC API interface',
'line5': 'Have fun coding',
}
}
}
This python code will create several controls using xbmcgui module and fill these will the message send through JSON-RPC:
import xbmcgui
import sys
import urlparse
class PopupWindow(xbmcgui.WindowDialog):
def __init__(self, image, line1, line2, line3, line4, line5):
self.addControl(xbmcgui.ControlImage(x=25, y=25, width=150, height=150, filename=image[0]))
self.addControl(xbmcgui.ControlLabel(x=190, y=25, width=500, height=25, label=line1[0]))
self.addControl(xbmcgui.ControlLabel(x=190, y=50, width=500, height=25, label=line2[0]))
self.addControl(xbmcgui.ControlLabel(x=190, y=75, width=500, height=25, label=line3[0]))
self.addControl(xbmcgui.ControlLabel(x=190, y=100, width=500, height=25, label=line4[0]))
self.addControl(xbmcgui.ControlLabel(x=190, y=125, width=500, height=25, label=line5[0]))
if __name__ == '__main__':
params = urlparse.parse_qs('&'.join(sys.argv[1:]))
window = PopupWindow(**params)
window.show()
xbmc.sleep(5000)
window.close()
del window
See also
Development: