kivy中位置和大小属性的使用:

-------------------位置----------------------------

1.pos_hint(‘x-axis-key’:value,’y-axis-key’:value )

#pos_hint接受的是一个dict格式. x-axis-key主要包括x,center_x,right;

y-axis-key主要包括:y,center_y,top.

注意:这里面value的取值都是比例值,通常为0-1.

#参数详解(下图):

x: 代表widget的最左边边线;

center_x: 代表竖着从中间切开widget的那条中线

right: 代表widget最右边的边线

y: 代表widget最底边的边线

center_y: 代表横着从中间切开widget的那条中线

top: 代表widget最顶端的边线.

#注意, 这六个参数代表的是边线, 不是某个点!!!

———————————————————————————

———————————————————————————

2.pos: [x , y]:

x, y 代表固定的坐标值,单位是pixel.

也可单独对x和y的具体位置进行赋值. 这里使用到的关键字就是pos_hint中x轴和y轴的关键字.

不过注意!!!这里的赋值都是固定数目的pixel值.不再是比例值!!!

并且,不能再在pos_hint中使用相同的关键字了.

eg:     x:0

top: root.height

----------------------------大小——————————————

1.size_hint:[width, height]

#也可分开写,即size_hint_x/size_hint_y. 取值全部是比例值,即0-1, 或者是None(为了使用像素值单位width,height,size)

2.size:[width,height]

#和size_hint不同处在于这里的取值全部是固定的像素值,不再是比例值!!!

#也可以分开写, 即widht/height. 取值一样全部是像素值.

#这里要注意的是:想使用size, width或者height的时候, 必须要将对应的size_hint,size_hint_x,或size_hint_y设置成None

eg:使用size(),就需要设置size_hint:(None,None)

使用width,就需要size_hint_x:None

使用height,则size_hint_y:None

Tips:

1.Widget不接受比例值, 不管是大小还是位置.即(size_hint,size_hint_x,size_hint_y,pos_hint)不接受. 

以pixel为单位的属性值都是接受的,即(size,width,height,pos,x,right,center_x,y,center_y,top)

2.pos_hint只在FloatLayout,RelativeLayout和BoxLayout中起作用.3

3.在FloatLayout中使用pos,得到的位置是是对于整个Window的,并不是相对于self layout的, 

但是, 如果使用pos_hint指定位置的话, 就会得到相对于self layout的位置, 因为pos_hint一直使用的是relative coordinate.

4.任何一个Layout里面都是是优先使用pos_hint的属性的, 如果想使用固定值的位置属性(这里包括pos,x,center_x,right,y,center_y,top), 需要声明代码中并没有使用pos_hint的属性.

5.任何一个Layout里面, 如果我们想使用size, height, width的属性进行赋值, 需要将size_hint里对应部分的值设置成None; 即可以把size_hint, size_hint_x, size_hint_y设置成None, 以此来激活size, width, height.

注意: [size, height, width]代表的都是比例值, 一般取值从0到1;

         [size, width, height]代表的都是具体的像素值(pixel)

eg: 设置size_hint: (None, .10)以后,就可以使用height来赋值高的长度了.

kivy中size和pos的使用的更多相关文章

  1. jquery中,size()和length()方法有啥区别

    jquery中,size()和length()方法有啥区别? size()是jQuery提供的函数,而length是属性(不带括号). jQuery提供的源代码是这样的: size: function ...

  2. kivy中bind的使用

    一般在kivy中使用bind()来绑定回调函数,所谓回调函数,个人理解就是一个预先定义好的方法, 因为APP是静态的, 需要等待用户进行操作, 特定的操作背后都绑定了特定的回调函数, 一般有两种类型: ...

  3. Kivy中显示汉字的问题

    1. kivy中显示中文乱码和提示错误的原因: 编码问题 字体问题 2. 字体问题的解决 可以下载支持中文的字体文件ttf,我这里使用了微软雅黑中文简体msyh.ttf.我们在编写布局时可以直接在相关 ...

  4. 在kivy中加图片

    from kivy.app import App from kivy.uix.scatterlayout import ScatterLayout from kivy.uix.image import ...

  5. juquery 中 size()和length的区别 以及优缺点

    size()是jQuery提供的函数,而length是属性(不带括号).jQuery提供的源代码是这样的:size: function() {return this.length;}其实也就是说,在j ...

  6. matlab中size函数总结

    size(A)函数是用来求矩阵的大小的. 比如说一个A是一个3×4的二维矩阵: 1.size(A) %直接显示出A大小 输出:ans= 3 4 2.s=size(A)%返回一个行向量s,s的第一个元素 ...

  7. STL:string类中size()与length()的区别

    结论是:两者没有任何区别 解释: C++Reference中对于两者的解释: 两者的具体解释都一模一样: 理解: length是因为C语言的习惯而保留下来的,string类最初只有length,引进S ...

  8. Matlab中size、numel、length、fix函数的使用

    size():获取矩阵的行数和列数  (1)s=size(A),      当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数. (2)[r,c]=size ...

  9. java 中 size() 和 length()

    偶然发现自己不清楚 java size() 和length()是干嘛用的,总结一下: 1.java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这 ...

随机推荐

  1. [django]django model的查询和更新

    再分享Django系列的另外几篇文章: Django model select的各种用法详解:https://mp.weixin.qq.com/s/JVh4UnS2Tql9gUVaBSoGuA Dja ...

  2. [Java in NetBeans] Lesson 02. Variables, Data Types and Assignment.

    这个课程的参考视频在youtube. 主要学到的知识点有: Data Type: int, char, String, double, boolean. When into printf, int ( ...

  3. Windows Server 2008服务器上测试几个站点,改完host居然没有生效

    Windows Server 2008服务器上测试几个站点,改完host居然没有生效看了下资料,估计是因为Dnscache这个服务引起的(DNS Client)于是从服务了把他禁用掉,果然host生效 ...

  4. python的赋值,深拷贝和浅拷贝的区别

    原文地址https://www.cnblogs.com/xueli/p/4952063.html 赋值:a = [1,2,3,["a","b"]]  b=a,那 ...

  5. Dockerfile详解(三)

    1.概述 创建Docker镜像的方式有三种 docker commit命令:由容器生成镜像: Dockerfile文件+docker build命令: 从本地文件系统导入:OpenVZ的模板. 关于这 ...

  6. ROSETTA使用技巧随笔--score.sc处理

    对score.sc的便利操作: $ sort -n -k2 example_score_file.sc 此命令会以score文件的第二列进行排序(sort -n -k2,-n表示对数值型数据排序,可用 ...

  7. 字符串ASCII码排序

    在对接第三方支付渠道的时候,第三方会要求参数按照ASCII码从小到大排序. 如下是渠道方有关生成签名规则的java代码示例: //初始化0010merkey.private文件: String mer ...

  8. LeetCode111.二叉树的最小深度

    给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], ...

  9. winform下picturebox控件显示图片问题

    viewData_pictureBox.SizeMode=PictureBoxSizeMode.StretchImage;图片会自动按照比例缩放来完全显示在你的PictureBox中.

  10. IT新起之秀

    辞职以后自己比较迷茫,不知道自己能干什么,09年毕业到现在虽然工作经验有7.8年,但是感觉自己什么都不会,除了自己能下车间别的好像也做不成,没有一技之长.我更像是一个经验用了7.8年而不是有7.8年的 ...