【问题标题】:how to add elif statement in kivy language?如何在kivy语言中添加elif语句?
【发布时间】:2021-12-21 12:19:08
【问题描述】:

祝大家有美好的一天,我想问一下如何在 Kivy 语言中添加 elif 语句。 这是我的 .kv 文件中的代码:

MDCard:
    size_hint: None, None
    size: 232.5, 23
    orientation: "vertical"
    pos: 352.5, 255 + 23/2
    md_bg_color: [200/255, 200/255, 0/255, 1] if app.weekday == "2" else [0/255, 200/255, 0/255, 1]

我想添加一个条件 if app.weekday == "3": md_bg_color: [200/255, 0/255, 0/255, 1]

非常感谢。

【问题讨论】:

  • 那是普通的 python,不是 kivy 独有的……我认为 if elif else 没有单行符……但你可以做一个经典的 if。无论如何,我建议你创建一个默认字典来选择你的 md_bg_color 或类似的东西
  • @UlisesBussi 非常感谢!但我只是一个新手,你能指导我该怎么做吗?
  • 好吧,我把它作为一个回答,如果有任何疑问,请告诉我
  • 如果有效,请告诉我,我在 kivy 方面没有经验
  • @UlisesBussi 是的,它的工作原理非常非常酷

标签: python kivy kivy-language kivymd


【解决方案1】:

你可以像这样做你想做的事:

md_bg_color: [200/255, 200/255, 0/255, 1] if app.weekday == "2" else [0/255, 200/255, 0/255, 1] if app.weekday == "3" else [200/255, 0/255, 0/255, 1]

【讨论】:

  • 谢谢你uuuuuuuuu!!!!
【解决方案2】:

您好,我会将此作为回答。

  1. 这是正常的 python 语言,它是“if one-liner”
  2. 没有 if-elif-else 单线,但您可以使用一些 if-else 连接
  3. 我不建议这样做。

4)您可以创建一个默认字典并按天访问它以选择您的颜色:

from collections import defaultdict
#create default dict and default color
default_color = [0/255, 200/255, 0/255, 1]
color_dict_by_day = defaultdict(lambda: default_color)

#add other colors by key as "num"

color_dict_by_day["2"] = [200/255, 200/255, 0/255, 1]
color_dict_by_day["3"] = [200/255, 0/255, 0/255, 1]
# and so on....

#for last call your code block as:

MDCard:
    size_hint: None, None
    size: 232.5, 23
    orientation: "vertical"
    pos: 352.5, 255 + 23/2
    md_bg_color: color_dict_by_day[app.weekday]

【讨论】:

  • 天哪,太酷了,非常感谢你给我新的酷知识!!!
猜你喜欢
  • 1970-01-01
  • 2022-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多