【问题标题】:Making a background canvas in kivy在kivy中制作背景画布
【发布时间】:2013-12-07 02:48:14
【问题描述】:

我已阅读有关如何在 Kivy 中更改背景、添加颜色等的问题,并且我熟悉如何为小部件执行此操作。

我的问题是一种通用策略,即当我想要的只是一个我要放置其他小部件的背景时,打算使用哪种对象——应该是标签还是小部件,还是布局? (假设我只有一个小的填充背景,我会在上面放置不同颜色的网格布局,如this question。)

【问题讨论】:

    标签: python layout kivy


    【解决方案1】:

    我认为答案确实是“视情况而定”。正如您所说,您可以为任何东西添加背景,因此决定完全取决于您希望小部件具有什么样的其他行为。

    我想要的只是一个背景,我将把其他小部件放在上面——应该是标签、小部件还是布局?

    如果您完全不希望有额外的行为,Widget 就可以了。如果您想要简单的行为,例如让孩子自动放置/调整大小以填充背景小部件,那么像BoxLayout 这样的简单布局当然是理想的。或者,您可能希望(例如)将子项设置为比背景小部件小一点,以便获得一点边框,在这种情况下,AnchorLayout 将是正确的。或者对于任意比例行为,FloatLayout 是理想的。

    当然你可以在那里看到,问题真的归结为“你想要布局行为”,如果是这样,你只需选择满足你想要的布局。绝对没有限制和规则,在kivy的设计中,你可以结合这样的行为来精确地得到你想要的。

    (假设我只会有一个小的填充背景,我会在上面放置不同颜色的网格布局,就像在这个问题中一样。)

    在这种情况下,AnchorLayout 似乎很理想。这使您可以为子小部件设置填充,但(默认情况下)它是居中的,因此如果您使用背景创建自己的 AnchorLayout 子类,您将获得您想要的边框。

    【讨论】:

      猜你喜欢
      • 2019-12-21
      • 2022-06-14
      • 1970-01-01
      • 2020-12-24
      • 2021-07-22
      • 1970-01-01
      • 2016-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多