j'ai créé un dossier icon qui contien des icônes drapeaux de 128px et j'aimerais les afficher a chaque entrée com une icon qui correspond
from Components.Input import Input
from enigma import gFont, eListboxPythonMultiContent, RT_HALIGN_LEFT, RT_HALIGN_RIGHT, RT_HALIGN_CENTER, RT_VALIGN_CENTER, gPixmapPtr, ePicLoad
from Components.ScrollLabel import ScrollLabel
from Screens.MessageBox import MessageBox
from Screens.Screen import Screen
from Screens.Console import Console
from Components.MenuList import MenuList
from Components.ActionMap import ActionMap
from Plugins.Plugin import PluginDescriptor
from Components.Label import Label
from Tools.Directories import fileExists
###########################################################################
class RassemblPluginAboutScreen(Screen):
skin = """
<screen position="100,150" size="460,400" title="Rassembl Plugin version 1.0" >
<widget name="icon" pixmap="Adresse_images" position="10,10" size="420,380" font="Regular;20" scrollbarMode="showOnDemand" foregroundColor=>
self["actions"] = ActionMap(["SetupActions"],
{
"ok": self.close,
"cancel": self.close,
}, -1)
class MyShPrompt(Screen):
skin = """
<screen position="100,150" size="460,400" title="Rassembl Plugin V1.0" >
<widget name="myMenu" position="4,1" size="420,380" valign="center" halign="right" font="Regular;20" foregroundColor="white" scrollbarMode="showOnDemand" />
<widget name="myGreenBtn" position="176,359" size="124,33" valign="center" halign="centre" zPosition="2" font="Regular;20" transparent="1" foregroundColor="white" />
<ePixmap position="161,359" size="124,33" zPosition="0" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Rassembl2Plugin/icons/green.png" transparent="1" alphatest="on" />
</screen>"""
def __init__(self, session, args = 0):
self.session = session
list = []
list.append(("ControPart", "com_three"))
list.append((" Informt ", "com_four"))
list.append(("Conf", "com_five"))
list.append(("Facb", "com_two"))
list.append(("HDMU_SoftcamControl", "com_one"))
list.append(("BMediaCenter", "com_sixe"))
list.append(("SoftcamControl", "com_seven"))
list.append(("SkinSelector", "com_eight"))
list.append(("NetworkBrowser", "com_nine"))
# list.append(("Panel", "com_ten"))
list.append((_("Exit"), "exit"))
Screen.__init__(self, session)
self["myMenu"] = MenuList(list)
self["myGreenBtn"] = Label(_("About"))
self["myActionMap"] = ActionMap(["SetupActions", "ColorActions"],
{
"ok": self.go,
"cancel": self.cancel,
"green":self.textilos,
}, -1)
def go(self):
returnValue = self["myMenu"].l.getCurrentSelection()[1]
print "\n[MyShPrompt] returnValue: " + returnValue + "\n"
if returnValue is not None:
if returnValue is "com_one":
if fileExists("/usr/lib/enigma2/python/Plugins/Extensions/HDMUCenter/plugin.pyo") == False:
self.session.open(MessageBox,"Plugin SoftCamManager Non Insataller.....\n Voulez Vous L'installer.....")
else:
from Plugins.Extensions.HDMUCenter.plugin import *
self.session.open(HDMU_MainMenu)
if returnValue is "com_two":
if fileExists("/usr/lib/enigma2/python/Plugins/Extensions/Rassembl2Plugin/WeatherPlugin/plugin.pyo") == False:
self.session.open(MessageBox,"Plugin Weater Non Insataller.....\n Voulez Vous L'installer.....")
else:
from Plugins.Extensions.Rassembl2Plugin.WeatherPlugin.plugin import *
self.session.open(MSNWeatherPlugin)
elif returnValue is "com_three":
if fileExists("/usr/lib/enigma2/python/Plugins/Extensions/Rassembl2Plugin/Quran/plugin.pyo") == False:
self.session.open(MessageBox,"Plugin Quran Non Insataller.....\n Voulez Vous L'installer.....")
else:
from Plugins.Extensions.Rassembl2Plugin.Quran.plugin import *
self.session.open(StreamTVList)
elif returnValue is "com_four":
if fileExists("/usr/lib/enigma2/python/Plugins/Extensions/Rassembl2Plugin/Eijjaz1/plugin.pyo") == False:
self.session.open(MessageBox,"Plugin Eijjaz1 Non Insataller.....\n Voulez Vous L'installer.....")
else:
from Plugins.Extensions.Rassembl2Plugin.Eijjaz1.plugin import *
self.session.open(StreamTVList)
elif returnValue is "com_five":
if fileExists("/usr/lib/enigma2/python/Plugins/Extensions/Rassembl2Plugin/Qawanine_Al9or2ane/plugin.pyo") == False:
self.session.open(MessageBox,"Plugin Qawanine_Al9or2ane Non Insataller.....\n Voulez Vous L'installer.....")
else:
from Plugins.Extensions.Rassembl2Plugin.Qawanine_Al9or2ane.plugin import *
self.session.open(StreamTVList)
elif returnValue is "com_sixe":
if fileExists("/usr/lib/enigma2/python/Plugins/Extensions/BMediaCenter/plugin.pyo") == False:
self.session.open(MessageBox,"Plugin BMediaCenter Non Insataller.....\n Voulez Vous L'installer.....")
else:
from Plugins.Extensions.BMediaCenter.plugin import *
self.session.open(HDMUMC_MainMenu)
elif returnValue is "com_seven":
if fileExists("/usr/lib/enigma2/python/Plugins/Extensions/HDMUCenter/HDMU_SoftcamControl.pyo") == False:
self.session.open(MessageBox,"Plugin HDMU_SoftcamControl Non Insataller.....\n Voulez Vous L'installer.....")
else:
from Plugins.Extensions.HDMUCenter.HDMU_SoftcamControl import *
self.session.open(HDMU_SoftcamControl)
elif returnValue is "com_eight":
if fileExists("/usr/lib/enigma2/python/Plugins/SystemPlugins/SkinSelector/plugin.pyo") == False:
self.session.open(MessageBox,"Plugin SkinSelector Non Insataller.....\n Voulez Vous L'installer.....")
else:
from Plugins.SystemPlugins.SkinSelector.plugin import *
self.session.open(SkinSelector)
elif returnValue is "com_nine":
if fileExists("usr/lib/enigma2/python/Plugins/SystemPlugins/NetworkWizard/NetworkWizard.pyo") == False:
self.session.open(MessageBox,"Plugin NetworkWizard Non Insataller.....\n Voulez Vous L'installer.....")
else:
from Plugins.SystemPlugins.NetworkWizard.NetworkWizard import *
self.session.open(NetworkWizard)
# elif returnValue is "com_ten":
# if fileExists("/usr/lib/enigma2/python/Plugins/Extensions/Rassembl2Plugin/Panel.py") == False:
# self.session.open(MessageBox,"Plugin Panel Non Insataller.....\n Voulez Vous L'installer.....")
# else:
# from Plugins.Extensions.Rassembl2Plugin.Panel import *
# self.session.open(workWizard)
else:
print "\n[MyShPrompt] cancel\n"
self.close(None)
# Pas une réponse à ta question
Posté par lolop (site web personnel) . Évalué à 6. Dernière modification le 29 avril 2019 à 19:59.
Mais plusieurs points:
fileExists(…)
) produit un booléen, plutôt que de tester== True
ou== False
dans une conditionif
, utilises plutôtif fileExists(…):
ouif not fileExists(…):
./usr/lib/enigma2/python/Plugins/Extensions
en dur partout dans les expressions, au minimum utilise une constante, et plus tard tu pourras utiliser une variable modifiable quelque part (environnement, option ligne de commande, préférences) sans avoir à modifier le source.os.path
ou bien le récent modulepathlib
.importlib
et te créer une fonction de chargement de plugin, ton code sera grandement simplifié avec cette factorisation.Et, désolé, pas de réponse sur les icônes.
¹ Utilisation modèle + format
² Import et récupération en cas d'échec
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.