python - 布局内的布局
问题描述
我试图弄清楚如何使用 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 上的布局链接到 .kv 文件中的布局(这样我可以在 .kv 内部调整和/或组织它),请告诉我。
编辑:如果我创建另一个布局,但这次是在 .kv 文件上,它需要一个按钮的大小并将自己放入我在 main.py 中创建的布局中。为什么?
解决方案
推荐阅读
- javascript - 如何使用样式组件键入 Ant 设计?
- python - 使用方法在python中创建一个类。下面的描述
- computer-vision - 数字输出的损失函数和最后一层
- c++ - 用字符串向量的位置初始化字符串
- python - 错误:没有这样的文件 --> 执行程序
- php - 简单的网络问卷
- javascript - Firebase 函数 - 随机选择 2 个子节点并将它们放置在其他节点中
- caching - 使用有效的缓存策略服务静态资产 - Google Analytics
- .net - Visual Studio 构建成功但 dotnet 构建 cli 失败
- r - 代码块如何使用 knit_expand 循环绘制结果与标题?