我试图弄清楚如何用Kivy开发应用程序。 日历由按钮制成,但具有多种布局,因此我可以根据自己的喜好组织一切。 所有这些对我来说都是很新的,我不知道如何正确地进行布局。在某些视频中,def build(self)返回一个布局或一个小部件或标签,如果我想返回多个布局该怎么办?我是否需要在主布局中创建这些布局以使它们全部出现?如果我想创建由按钮制成的日历,但是由于一个月的日期不同,该怎么办,我需要在.py文件而不是.kv里面创建日历,但是如果我想弄乱带有我的按钮的FloatLayout怎么办?日历按钮,位于.kv文件中,并使用其他内容的多个布局进行组织? 如果不清楚我的问题,我就不会知道。
我看过几个视频,但它们确实简化了。
import kivy
import calendar
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.widget import Widget
class CustomFloat(GridLayout):
def __init__(self,**kwargs):
super(CustomFloat,self).__init__(**kwargs)
self.cols = 7
self.size_hint_y = 0.3
self.size_hint_x = 0.9
self.pos_hint = {"top": 0.9, "x": 0.05}
self.c = calendar.monthcalendar(2015,5)
for i in self.c:
for j in i:
if j == 0:
self.add_widget(Button(text = '{j}'.format(j='')))
else:
self.add_widget(Button(text = '{j}'.format(j=j)))
def on_release(self):
pass
class FloatingApp(App):
def build(self):
return CustomFloat()
if __name__ == "__main__":
FloatingApp().run()
我的代码就是我想要做的(由按钮制成的日历),但是我希望该布局位于更大的布局内,这样我就可以为日常任务或按钮进行多个布局,从中可以更改月等,等等。 如果有人知道如何将main.py上的Layout链接到.kv文件中的布局(以便我可以在.kv中进行调整和/或组织),请告诉我。
编辑:如果我创建另一个布局,但是这次是在.kv文件上,它需要一个按钮大小,并将自己放入在main.py中创建的布局中。为什么?