#!/usr/bin/python
import sys
import glob
import serial
import time
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.config import Config
from kivy.clock import Clock
from kivy.properties import StringProperty
Config.set('graphics', 'width', '400')
Config.set('graphics', 'height', '150')
num = 0
class Counter_Timer(BoxLayout):
number = StringProperty()
def count(self, dt):
global num
num = num + 1
print num
numSTR = str(num)
self.number = numSTR
def start_button(self):
counter = Counter_Timer()
Clock.schedule_interval(counter.count, 1.0)
class cb(App):
def build(self):
counter = Counter_Timer()
# Clock.schedule_interval(counter.count, 1.0)
return counter
if __name__=='__main__':
cb().run()
# cb.kv
<Counter_Timer>:
orientation: 'vertical'
BoxLayout:
Label:
text: root.number + ' ticks'
font_size: '24dp'
Button:
text: "Start"
on_press: root.start_button()
Button:
text: "Stop"
Interesting. This is an instancing issue. Try
class Counter_Timer(BoxLayout):
number = StringProperty('')
def count(self, dt):
global num
num = num + 1
print num
numSTR = str(num)
self.number = numSTR
def start_button(self):
Clock.schedule_interval(self.count, 1.0)