Witam
Wymęczyłem takie cósik. Wiem, że jest źle bo nie działa. Jak to zrobić poprawnie.
Label dodany do buttona dla uzyskania możliwości wykorzystania markup i unicode.
import kivy
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
lay=BoxLayout(orientation='horizontal',size_hint=(1,.1),spacing=4)
class SwitchButton(Button,Label):
def __init__(self):
self.txt_on=' [color=00ff00]'+'\u25CF'+'[/color] '
self.txt_of=' [color=ff0000]'+'\u25CB'+'[/color] '
self.lbl=Label(halign="right",markup=True,pos=(2,-30),text=self.txt_on+"Nm.Ent.",font_name='DejaVuSansMono.ttf')
self.btn=Button(size_hint=(None,.6),width=125)
self.btn.bind(on_release=self.mSwitch)
self.btn.add_widget(self.lbl)
self.btn.bind(on_release=self.mSwitch)
return None
def mSwitch(self,*data):
oLblWdg=data[0].children[0]
sTxt=oLblWdg.text
posSt=sTxt.find('=')+1
sPhrase=sTxt[posSt:posSt+6]
if sPhrase=='00ff00':
oLblWdg.text=self.txt_of+"Nm.Ent."
else:
oLblWdg.text=self.txt_on+"Nm.Ent."
return None
swBtn=SwitchButton()
lay.add_widget(swBtn)
runTouchApp(lay)
Taki błąd wyskakuje.
AttributeError: 'SwitchButton' object has no attribute '_disabled_count'
Pozdrawiam
Radosław Głębicki