【发布时间】:2021-05-07 15:50:18
【问题描述】:
我想简化我的代码,我通过 f"{}" 做到了。但是现在我需要当你点击确定项目时,切换一个具有特定数字的屏幕。但我不知道怎么做。有没有可能?
def show_bottom_sheet(self):
bs = MDListBottomSheet()
bs.add_item("bla bla", lambda x: x,icon='account-group-outline')
for y in 1,2,3,4,12,13:
bs.add_item(f"number {y} ", lambda x: self.behavior(), icon='account-group-outline'.format(y))
bs.open()
而不是
#bs.add_item("2", lambda x: self.behavior2(), icon='account-group-outline')
#bs.add_item("3", lambda x: self.behavior3(),icon='account-group-outline' )
#bs.add_item("4", lambda x: self.behavior4(),icon='account-group-outline' )
#bs.add_item("12", lambda x: self.behavior12(),icon='account-group-outline' )
#bs.add_item("13", lambda x: self.behavior13(), icon='account-group-outline')
我尝试了类似的方法但没有成功:
def behavior(self):
for y in 1, 2, 3, 4, 12, 13:
self.manager.current = f"{y}"
我以前也是这样的
def behavior2(self):
self.manager.current = "2"
def behavior3(self):
self.manager.current = "3"
def behavior4(self):
self.manager.current = "4"
def behavior12(self):
self.manager.current = "12"
def behavior13(self):
self.manager.current = "13"
def behavior14(self):
【问题讨论】:
-
Python 字典可能是解决您问题的一个选项,您可以像使用其他编程语言中的 switch 语句一样使用它
-
你可以使用
str(y)代替f"{y}"