例如,下面是代码
. py文件from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
class ScreenOne(Screen):
pass
class WindowManager(ScreenManager):
pass
kv = Builder.load_file("testing.kv")
class ScreenApp(App):
def build(self):
return kv
if __name__ == '__main__':
ScreenApp().run()
。kv的
WindowManager:
ScreenOne:
<ScreenOne>:
GridLayout:
size: root.height, root.width
rows: 2
Button:
text: "Break this button into 3 smaller buttons"
Label:
text: ""
当按钮被点击时,我想把按钮分成3个较小的按钮。你能帮我写一个on_release命令吗?
<ScreenOne>:
GridLayout:
btn: remove
size: root.height, root.width
rows: 2
Button:
id: remove
text: "Break this button into 3 smaller buttons"
on_press: root.break_into_three()
然后在ScreenOne
类中创建一个名为break_into_three
的函数并定义如下:
class ScreenOne(Screen):
def break_into_three(self):
self.add_widget(Button(text='Button1'))
self.add_widget(Button(text='Button2'))
self.add_widget(Button(text='Button3'))
self.remove_widget(self.btn) # removes the initial Button
我没有一个工作的Kivy环境来测试这个,但是我想你明白了。