Ergebnis 1 bis 10 von 10
  1. #1
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.183
    Box(en):  DM900ultraHD  DM525  DM7080HD 

    Tasten aktiv/deaktivieren

    Hallo, bekantlich werden die Tasten kurz nach der _init_ aktiviert:

    Code:
                
    "red"    :self.red_key,
    "green": self.green_key,            
    "yellow":self.yellow_key,
    "blue"   :self.blue_key,
    "ok"      :self.ok_key,
    "cancel": self.cancel
    .
    # Hier das Problem:
    .
    def red_key(self):
           hier nur red_key und green_key
           if bedingung.....
              bedungung erfüllt self.erfülltebedingung()
    
    def erfülltebedingung(self):
          mache dies, mache jenes
          def yellow_key(self):
                führe Befehl aus
          def blue_key(self):
                führe anderen Befehl aus
    Geht das so, das ich nur die Tasten Gelb und Blau Aktiv in der erfülltenbedingung habe?
    Oder muss ich eine neue Class mit allem zip und zap machen?

    Hintergrund: ich prüfe ob ein bestimmtes Plugin läuft, und wenn das läuft, nur das eine, kann ich mit den Tasten Gelb & Blau die weitere vorgehensweise bestimmen.
    Wenn dieses eine Plugin nicht läuft sind die Tasten Gelb & Blau inaktiv.
    Gruß
    Koepi

  2. #2
    Developer Avatar von Dre
    Registriert seit
    Sep 2005
    Beiträge
    8.607
    Box(en):  DM900ultraHD  DM820HD  DM7080HD  DM7020HD  DM8000  DM800  DM7025  DM7020  DM7000 
    Das musst du in der jeweiligen Funktion ausprogrammieren.

    Zuerst im __init__:

    Gelb und blau mit self["labelname/pixmapname"].hide()
    Falls plugin installiert mit .show() wieder anzeigen und gleich noch nen boolean von False auf True setzen

    In den Funktionen zu Gelb/Blau fragst du den boolean ab. True mach was, False mach nix.
    Developer Project Merlin

  3. #3
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.183
    Box(en):  DM900ultraHD  DM525  DM7080HD 
    Danke Dre, auf diese Idee wäre ich garnicht gekommen. Aber man ist ja lernfähig.
    Gruß
    Koepi

  4. #4
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.183
    Box(en):  DM900ultraHD  DM525  DM7080HD 
    Mmm, in der

    Code:
    __init__:
    .
    .
    .
            self["key_yellow"].hide()
            self["key_blue"].hide()
            self["key_yellow"] = Boolean(False) 
            self["key_blue"] = Boolean(False)
    habe ich den Code oben geschrieben, das funktioniert allerdings nicht.
    Beim wieder aufheben des False mit True kommt die
    Fehlermeldung, in etwa: Boolean has no Attribut show.
    Code:
    self["key_blue"] = Boolean(True)
    Ohne dem Boolean funktioniert das hide/show wunderbar, nur mit dem Boolean hab ich Probleme....
    Gruß
    Koepi

  5. #5
    Dreamer Avatar von dhwz
    Registriert seit
    Dec 2005
    Beiträge
    116
    Box(en):  DM900ultraHD  DM525  DM520  DM820HD  DM7080HD  DM800se  DM8000  DM7000  Sonstige 
    Nein so war das auch nicht gemeint, du sollst in den beiden Funktionen die die beiden Farbtasten aufrufen einen Boolean abfragen und dann entscheiden ob die Funktion weiter ausgeführt wird oder nicht.

  6. #6
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.183
    Box(en):  DM900ultraHD  DM525  DM7080HD 
    Also so in etwa:
    Code:
    if self["key_yellow"] = False
         Funktion.....
         .
    Aber dann wäre die Taste doch deaktiviert, oder?
    Gruß
    Koepi

  7. #7
    Dreamer Avatar von dhwz
    Registriert seit
    Dec 2005
    Beiträge
    116
    Box(en):  DM900ultraHD  DM525  DM520  DM820HD  DM7080HD  DM800se  DM8000  DM7000  Sonstige 
    Du denkst zu kompliziert

    Code:
    irgendwo am Anfang vom Plugin prüfst du ob das andere Plugin vorhanden ist und setzt dann entsprechend einen Boolean
    
    wenn Plugin da:
    foobar = True
    ansonsten:
    foobar = False
    
    ...
    
    genauso machst du das dann beim init damit du die Tasten ausblenden kannst (die Labelbeschriftung oder was auch immer)
    
    if not foobar:
            self["key_yellow"].hide()
            self["key_blue"].hide()
    
    ...
    
    "red"    :self.red_key,
    "green": self.green_key,            
    "yellow":self.yellow_key,
    "blue"   :self.blue_key,
    "ok"      :self.ok_key,
    "cancel": self.cancel
    
    ...
    
    def red_key(self):
           befehl xyz_rot
    
    def green_key(self):
           befehl xyz_green
    
    def yellow_key(self):
          if foobar:
               befehl xyz_yellow
    
    def blue_key(self):
          if foobar:
               befehl xyz_blue
    Die Keymaps sind weiterhin aktiv, führen aber einfach keinen Code mehr aus wenn du sie drückst.
    Geändert von dhwz (22. August 2017 um 20:40 Uhr)

  8. #8
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.183
    Box(en):  DM900ultraHD  DM525  DM7080HD 
    Danke für die Nachhilfe dhwz
    werde das gleich, wenn Frau im Bett ist umsetzen.

    Gruß
    Koepi

  9. #9
    Dreamer Avatar von dhwz
    Registriert seit
    Dec 2005
    Beiträge
    116
    Box(en):  DM900ultraHD  DM525  DM520  DM820HD  DM7080HD  DM800se  DM8000  DM7000  Sonstige 
    Kein Problem wir haben alle mal irgendwann bei 0 angefangen

  10. #10
    Betatester Avatar von koepi
    Registriert seit
    Dec 2011
    Ort
    Lünen
    Beiträge
    1.183
    Box(en):  DM900ultraHD  DM525  DM7080HD 
    Vielen Dank für die Ünterstützung, alles läuft so wie ich mir das vorgestellt habe.
    Gruß
    Koepi

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •