gpt4 book ai didi

python - Kivy:在重新进入屏幕时将切换按钮重置为 "normal"

转载 作者:行者123 更新时间:2023-11-28 16:27:24 25 4
gpt4 key购买 nike

我正在开发一个 kivy 应用程序,其中包含一个带有切换按钮的屏幕。我想知道每次用户进入该屏幕时,如何将恰好“向下”的任何按钮的状态重置为“正常”。

为了将 GUI 代码与应用程序的其余部分分开,我希望能够从我的 screens.kv 文件中重置按钮。有办法吗?

这是我的 screens.kv 的相关部分:

# Solution code, based on przyczajony's answer:
<ScreenThree>:
on_enter:
button1.state = 'normal'
button2.state = 'normal'
button3.state = 'normal'
button4.state = 'normal'
button5.state = 'normal'
#End of solution code, beginning of original question code:

BoxLayout:
orientation: "vertical"
size: root.size
spacing: 20
padding: 20

Label:
id: label
text: root.explanationText
ToggleButton:
id: button1
text: root.button1Text
on_state:
if self.state == 'normal': root.button1Up()
else: root.button1Down()
ToggleButton:
id: button2
text: root.button2Text
on_state:
if self.state == 'normal': root.button2Up()
else: root.button2Down()
ToggleButton:
id: button3
text: root.button3Text
on_state:
if self.state == 'normal': root.button3Up()
else: root.button3Down()
ToggleButton:
id: button4
text: root.button4Text
on_state:
if self.state == 'normal': root.button4Up()
else: root.button4Down()
ToggleButton:
id: button5
text: root.button5Text
on_state:
if self.state == 'normal': root.button5Up()
else: root.button5Down()
Button:
id: button6
text: root.button6Text
on_release: root.manager.current = "screen4"

提前感谢您的时间和智慧。

最佳答案

Screen widget有一个名为 on_enter(和 on_pre_enter)的事件,该事件在进入屏幕时调度。您可以在那里重置按钮的状态。示例:

Screen:
on_enter:
button1.state = 'normal'
button2.state = 'normal'

GridLayout:
cols: 1

ToggleButton:
id: button1

ToggleButton:
id: button2

你也可以循环执行此操作,但我认为它看起来不太好。

关于python - Kivy:在重新进入屏幕时将切换按钮重置为 "normal",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com