2017-07-17 6 views
0

J'essaie de résoudre un problème de débutant assez basique avec Kodi sans beaucoup de succès. J'ai le début d'un script de skinning qui ouvre une fenêtre et crée un contrôle que je ne peux pas rendre visible en pointant ma souris dessus.Rendre ce bouton visible sans appuyer avec la souris dans Kodi

Cependant, je n'arrive pas à comprendre comment faire pour que ce bouton de contrôle soit visible sans que je doive déplacer la souris dessus, immédiatement quand le script s'exécute. La documentation de Kodi est un peu clairsemée si vous êtes un débutant avec elle:

... voici mon fichier default.py ...

import xbmc, xbmcgui, os 

class cGUI(xbmcgui.WindowXML): 

    def __init__(self, *args, **kwargs): 


     xbmcgui.WindowXML.__init__(self, *args, **kwargs) 

     self.strActionInfo = xbmcgui.ControlLabel(50, 50, 200, 200, '', 'font14', '0xFFBBBBFF') 
     self.addControl(self.strActionInfo) 
     self.strActionInfo.setLabel('Push BACK to quit') 

     self.listing = kwargs.get("listing") 
     self.main_control_id = kwargs.get("id") 

    def onClick(self, controlID): 
     if controlID == self.main_control_id: 
      self.gui_button_SelectedPosition = self.gui_button.getSelectedPosition() 

    def setFocusId(self, 10): 

     pass 

ui = cGUI('controltest.xml', 'special://home/addons/script.video.test2', id=10) 
ui.doModal() 
del ui 

... et mon fichier XML ici pour la peau ...

<?xml version="1.0" encoding="UTF-8"?> 
<window type="window"> 
<defaultcontrol always="true">10</defaultcontrol> 
    <menucontrol>9000</menucontrol> 
    <backgroundcolor>1A1817</backgroundcolor> 
    <views>50,51,509,510</views> 
    <visible>Window.IsActive(Home)</visible> 
    <animation effect="fade" time="100">WindowOpen</animation> 
    <animation effect="slide" end="0,576" time="100">WindowClose</animation> 
    <zorder>1</zorder> 
    <coordinates> 
    <left>0</left> 
    <top>0</top> 
    <origin x="0" y="0">Window.IsActive(Home)</origin> 
    </coordinates> 
    <controls> 
<control type="button" id="10"> 
     <description>My first button control</description> 
     <left>100</left> 
     <top>100</top> 
     <width>1100</width> 
     <height>550</height> 
     <visible>true</visible> 
     <colordiffuse>1A1817</colordiffuse> 
     <label>28</label> 
     <wrapmultiline>true</wrapmultiline> 
     <font>font12</font> 
     <textcolor>80FFFFFF</textcolor> 
     <focusedcolor>7fffffff</focusedcolor> 
     <disabledcolor>80FFFFFF</disabledcolor> 
    <shadowcolor>70FFFFFF</shadowcolor> 
     <invalidcolor>70FFFFFF</invalidcolor> 
     <align></align> 
     <aligny></aligny> 
     <textoffsetx></textoffsetx> 
     <textoffsety></textoffsety> 
     <pulseonselect></pulseonselect> 
     <onfocus>-</onfocus> 
     <onunfocus>-</onunfocus> 
     <onup>2</onup> 
     <ondown>3</ondown> 
     <onleft>1</onleft> 
     <onright>1</onright> 
</control> 
</controls> 
</window> 

Quelqu'un peut-il s'il vous plaît laissez-moi savoir ce que j'ai besoin d'ajouter/changer pour faire ce travail?

Merci

Répondre

1

Vous devez définir un texturefocus et un texturenofocus pour le contrôle du bouton.

+0

ok, ça marche maintenant, merci beaucoup pour votre aide. Il y avait une certaine confusion initiale au sujet de l'endroit où le .png était supposé aller dans la structure du dossier pour la peau, mais finalement trouvé la page de structure de la peau dans la documentation de kodi. – gdogg371