根据Kivy 文档。“切换按钮也可以分组以生成单选按钮--一个组中只有一个按钮可以处于‘倒’状态。”
是否有可能让一个按钮使用切换按钮,并使用屏幕管理器来回更改屏幕?
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
root = Builder.load_string('''
BoxLayout:
orientation: 'vertical'
BoxLayout:
orientation: 'horizontal'
size_hint: (1, .1)
ToggleButton:
text: "Settings"
on_press: _screen_manager.current = 'settings'
BoxLayout:
orientation: 'vertical'
ScreenManager:
size_hint: 1, .8
id: _screen_manager
Screen:
name: 'game'
Screen:
name: 'settings'
BoxLayout:
orientation: 'vertical'
size_hint: (1, .1)
Button:
text: "Back"
on_press: _screen_manager.current = 'game'
BoxLayout:
orientation: 'vertical'
''')
class MyApp(App):
def build(self):
return root
MyApp().run()发布于 2017-04-29 06:07:21
为此,您可以使用on_state方法。
试试这个:
from kivy.app import App
from kivy.lang import Builder
root = Builder.load_string('''
BoxLayout:
orientation: 'vertical'
BoxLayout:
ToggleButton:
text: "Settings"
on_state: _screen_manager.current = 'settings' if self.state == 'down' else 'game'
BoxLayout:
orientation: 'vertical'
ScreenManager:
size_hint: 1, .8
id: _screen_manager
Screen:
name: 'game'
Label:
text: 'Game'
Screen:
name: 'settings'
Label:
text: 'Settings'
''')
class MyApp(App):
def build(self):
return root
MyApp().run()https://stackoverflow.com/questions/43683227
复制相似问题