kivy第三辑

使用内部布局的大小、宽度和高度属性进行缩放

示例:

kv文件->

#file name: my.kv


<MyFloat>:

     MyButton:
          text: 'Press here one'
          pos:20,50
          size:200,20

     MyButton:
          text: 'Press me two'
          pos:500,500
          size_hint:None,None
          size:200,20

main.py文件:

#file name: main.py

import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout


class MyButton(Button):
    pass


class MyFloat(FloatLayout):
    pass


class MyApp(App):
    def build(self):
        return MyFloat()


if __name__ == '__main__':
    MyApp().run()

运行结果如下:

 显而易见,按钮一没有正常显示,而按钮二正常显示,容易看出按钮一对应kv文件中size并未起到作用,与按钮二对比可知,按钮一大小定义失效原因在于没有设置size_hint为None

改进后kv文件:

<MyFloat>:

     MyButton:
          text: 'Press here one'
          pos:20,50
          size_hint:None,None
          size:200,20

     MyButton:
          text: 'Press me two'
          pos:500,500
          size_hint:None,None
          size:200,20

 正常显示,

哈哈,那如果说仅仅将size_hint_x定义为None呢?或者是将size_hint_y定义为None会怎么样呢?

让我们来探讨一下,当size_hint_x为None时,size的值仅在水平方向生效,如图:

 同理,当size_hint_y为None时:

size的属性值仅在竖直方向上生效 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值