【发布时间】:2021-09-04 18:22:11
【问题描述】:
我这周刚学会了 python 和 kivy/kivymd,所以我在为我确信是非常基本的东西而苦苦挣扎。
我正在尝试创建一张卡片 on_start,它在大多数情况下都可以正常工作,但我还需要将 height 设置为 minimum_height 以及设置 pos_hint(这两条注释掉的行,但显然它不会是 self在这种情况下为 .minimum_height;这是从我的 .kv 文件中复制过来的)。
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.card import MDCard
class MainApp(MDApp):
def build(self):
self.theme_cls.primary_palette = "LightGreen"
self.theme_cls.primary_hue = "700"
return Builder.load_file("main.kv")
def on_start(self):
self.root.ids.main_grid.add_widget(MDCard(
size_hint_x = 1,
size_hint_y = None,
adaptive_height = True,
# height = self.minimum_height,
# pos_hint = {"center_x" = .5}
spacing = 5,
padding = 30,
elevation = 18,
ripple_behavior = True
))
MainApp().run()
我不知道如何分配 pos_hint 使其不会引发语法错误。
身高,我试过设置
def on_start(self):
veg = self.root.ids.main_grid.add_widget(MDCard(
size_hint_x = 1,
size_hint_y = None,
adaptive_height = True,
# height = self.minimum_height,
# pos_hint = {"center_x" = .5}
spacing = 5,
padding = 30,
elevation = 18,
ripple_behavior = True
))
然后添加
veg.height = veg.minimum_height
返回
AttributeError: 'NoneType' object has no attribute 'minimum_height'
其他一切都很好。如果没有设置这两个属性,我可以运行它并且卡片显示得很好。它只是尺寸不正确。它期待什么输入?
【问题讨论】:
标签: python kivy kivy-language kivymd