0
我正在嘗試使計時器更新標籤以查看當前剩餘時間量。我有一個按鈕,當你按下時應該啓動2分鐘定時器。由於某種原因,標籤不會更新。我這樣做有什麼問題嗎?kivy中的標籤不會在while循環中更新
這裏是我的代碼:
import time
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
Builder.load_string("""
#:import sla kivy.adapters.simplelistadapter
#:import label kivy.uix.label
<ListItemButton>:
selected_color: 0, 0, 1, 1
deselected_color: 0, 0, 0, 1
<MenuScreen>:
FloatLayout:
#cols: 2
#rows: 2
size: 800,480
Label:
id: output
text: "0 min 0 s"
font_size: 60
size_hint: None, None
size: 400, 100
pos: 200,425
Button:
id: statheader
text: "2 min"
font_size: 40
size_hint: None, None
size: 600,100
pos: 150,800
background_color: 0,0,1,1
on_press: root.startTimer(int(2))
""")
class MenuScreen(Screen):
tww = 0
def startTimer(self, what):
self.tww = what*60
while self.tww > 0:
minute = self.tww/60
print(minute)
second = self.tww - minute*60
print(second)
self.ids.output.text = str(minute) + " min " + str(second) + " s"
self.tww -= 1
time.sleep(1)
sm = ScreenManager()
menu_screen = MenuScreen(name='menu')
sm.add_widget(menu_screen)
class TestApp(App):
def build(self):
return sm
if __name__ == '__main__':
TestApp().run()
有沒有別的東西,self.ids.output.text
應該是什麼?
無賴。感謝你的回答 – fastmhc