【发布时间】:2015-05-02 01:33:58
【问题描述】:
我的应用只有 1 个按钮。我想在 on_press 事件上更改它的颜色,然后等待 5 秒,然后显示一个弹出窗口。
我的尝试:
#!/usr/bin/kivy
import kivy
kivy.require('1.7.2')
from random import random
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.button import Button
from kivy.uix.label import Label
from kivy.uix.popup import Popup
from random import random
from random import choice
from kivy.properties import StringProperty
import time
my_popup = Popup(title='Test popup',
content=Label(text='Hello world'),
size_hint=(None, None))
Builder.load_string("""
<Highest>:
GridLayout:
cols: 1
Button:
id: btn_0
text: "Hi"
on_press: root.new()
""")
class Highest(Screen):
def new(self):
self.ids['btn_0'].background_color = 1.0, 0.0, 0.0, 1.0
time.sleep(5)
my_popup.open()
# Create the screen manager
sm = ScreenManager()
sm.add_widget(Highest(name='Highest'))
class TestApp(App):
def build(self):
return sm
if __name__ == '__main__':
TestApp().run()
但我的代码会在 5 秒后显示弹出窗口并改变颜色。请帮忙。
【问题讨论】:
标签: kivy