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. 银联卡中关于CVN/CVN2/ICVN的区别

    银联China Union Pay,是中国唯一合法的卡组织机构,同时也是EMVCo成员.关于银联卡中CVN/CVN2/ICVN的区别,刚开始我自己不了解,但经过查找资料和请教其他人,对它们的概念也渐渐 ...

  2. Python实现文字聊天室

    你是否想过用所学的Python开发一个图形界面的聊天室程序啊? 像这样的: 如果你想开发这样一个有点怀旧风格的聊天程序,那么可以接着看: 要开发这个聊天程序,你需要具备以下知识点: asyncore ...

  3. SDN概述:简介、工具、环境部署

    一.前言: 本文初步接触 SDN 的相关概念.需要依次完成下面几项任务: SDN 简介 SDN 工具 SDN 环境部署 推荐阅读 推荐阅读下述内容: Ethane 项目,openflow 的基础 op ...

  4. fill和memset的区别

    https://blog.csdn.net/xs18952904/article/details/75195412 memset只能初始化成为0或者-1,其他都要用fill来完成. #include& ...

  5. Java编写email实现内容换行

    用java编写的发送邮件要使用<br>来实现换行,而不能使用\n,或者\r\n // 5. Content: 邮件正文(可以使用html标签)(内容有广告嫌疑,避免被邮件服务器误认为是滥发 ...

  6. js函数中写默认值的几种方式(常见的)

    <script> <!--第一种写法,我更喜欢第一种写法直观一些--> function Person(name){ this.name = name || '默认名字乔丹'; ...

  7. HttpClient超时设置setConnectionTimeout和setSoTimeout

    http是基于TCP/IP进行通信的,tcp通过3次握手建立连接,并最终以4次挥手终止通信. 知乎上对三次握手和四次挥手有如下解释: 作者:知乎用户链接:https://www.zhihu.com/q ...

  8. RNN的深入理解

    针对有着前后序列关系的数据,比如说随着时间变化的数据,显然使用rnn的效果会更好. 循环神经网络的简单结构如下图:简单表示是左边这幅图,展开来看就是右边对每个时刻的数据的处理.单层的RNN网络只有一个 ...

  9. Unity shader学习之菲涅耳反射

    菲涅尔反射(Fresnel reflection),指光线照射物体表面时,一部分发生反射,一部分进入物体内部发生折射或散射,被反射的光和折射光之间存在一定的比率. 2个公式: 1. Schlick 菲 ...

  10. 爬取笔下wenxue小说

    import urllib.request from bs4 import BeautifulSoup import re def gethtml(url): page=urllib.request. ...