relativeLayout相对布局的嵌套在py中的引用
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.relativelayout import RelativeLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.graphics import Color,Rectangle class MyButton(Button):
"""自定义一个按扭,公共属性
"""
def __init__(self,**kwargs):
super().__init__(**kwargs)
self.font_size = 20 # 指定按扭的大小
self.size_hint = [0.3,0.3] # 按扭大小 # 布局类用于BoxLayout子布局
class RelativeLayoutWidget(RelativeLayout):
pass # 父布局
class BoxLayoutWidget(BoxLayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
# 设置颜色
with self.canvas:
Color(1,1,1,1)
self.rect = Rectangle(pos = self.pos,size=self.size)
self.bind(pos=self.update_rect,size=self.update_rect)
# 创建一个relative布局
relative_layout= RelativeLayout()
# 使用自定义按扭 bt0 = MyButton(text='bt1',pos_hint={'right':1,'top':1},background_color=(0.1,0.5,0.6,1)) # 正确
bt1 = MyButton(text='bt2',pos_hint={'x':0,'top':1},background_color=(.1,.5,.6,1))
bt3 = MyButton(text='relative',pos_hint={'center_x':.5,'center_y':.5},background_color=(0.4,0.5,.6,1))
bt4 = MyButton(text='bt4',pos_hint={'x':0,'y':0},background_color=(0,0,1,1))
bt5 = MyButton(text='bt5', pos_hint={'right': 1, 'y': 0}, background_color=(0.8,0.8,0.2,1)) # 都加进新的相对布局中去
for i in [bt0,bt1,bt3,bt4,bt5]:
relative_layout.add_widget(i)
# 占个位
self.add_widget(BoxLayout())
# 把这个新的相对布局加到Boxlayout中
self.add_widget(relative_layout) # 此处多值参数多次忘记!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
def update_rect(self,*args):
self.rect.pos=self.pos
self.rect.size=self.size class RelativeApp(App):
def build(self):
# 返回父布局
return BoxLayoutWidget() if __name__ == '__main__':
RelativeApp().run()
relativeLayout相对布局的嵌套在py中的引用的更多相关文章
- ScatterLayout:分散布局在py中的引用
""" ScatterLayout:分散布局 """ from kivy.app import App from kivy.uix.scat ...
- 网格布局GirdLayout在py中的引用,用于多行多列矩阵
""" GridLayout为网格布局为了部件为多行距阵 """ from kivy.uix.gridlayout import GridL ...
- pagelayout在py中的引用不支持size_hint和pos_hint
from kivy.uix.pagelayout import PageLayout from kivy.uix.button import Button from kivy.app import A ...
- Android开发3:Intent、Bundle的使用和ListView的应用 、RelativeLayout(相对布局)简述(简单通讯录的实现)
前言 啦啦啦~博主又来骚扰大家啦~大家是不是感觉上次的Android开发博文有点长呢~主要是因为博主也是小白,在做实验的过程中查询了很多很多概念,努力去理解每一个知识点,才完成了最终的实验.还有就是随 ...
- Android开发重点难点1:RelativeLayout(相对布局)详解
前言 啦啦啦~博主又推出了一个新的系列啦~ 之前的Android开发系列主要以完成实验的过程为主,经常会综合许多知识来写,所以难免会有知识点的交杂,给人一种混乱的感觉. 所以博主推出“重点难点”系列, ...
- RelativeLayout相对布局 安卓布局技巧
http://blog.csdn.net/nieweiking/article/details/38417317 RelativeLayout相对布局 相对布局 RelativeLayout 允许子元 ...
- 第13章、布局Layouts之RelativeLayout相对布局(从零開始学Android)
RelativeLayout相对布局 RelativeLayout是一种相对布局,控件的位置是依照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最经常使用,也是最灵活的一种布 ...
- Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局
在Android中提供了几个常用布局: LinearLayout线性布局 RelativeLayout相对布局 FrameLayout帧布局 AbsoluteLayout绝对布局 TableLayou ...
- Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件
UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的.View是绘制在屏幕上能与用户进行交互的一个对象.而对于ViewGroup来说,则是一个用于存放 ...
随机推荐
- sync 修饰符在Vue中如何使用
在有些情况下,我们可能需要对一个 prop 进行"双向绑定".不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以修改父组件,且在父组件和子组件都没有明显的改动来源. 这 ...
- ECDSA—模逆模块
在有限域Fp上的非零元素a的逆记为a-1mod p .即在有限域Fp上存在唯一的一个元素x,使得ax恒等于1(mod p),则元素x为a的逆a-1 .本次设计采用扩展的整数Euclidean算法来求逆 ...
- PHP中的PDO对象操作学习(一)初始化PDO及原始SQL语句操作
PDO 已经是 PHP 中操作数据库事实上的标准.包括现在的框架和各种类库,都是以 PDO 作为数据库的连接方式.基本上只有我们自己在写简单的测试代码或者小的功能时会使用 mysqli 来操作数据库. ...
- TP5关联模型出现疑问,待解决
一对一: hasOne('关联模型名','外键名','主键名',['模型别名定义'],'join类型'); 说明:其他模型一对一都可以按照手册说明写,但上面代码只能这么写才能执行正确答案, 如果是 / ...
- php发送邮件方法-亲测可用,email.class.php过期解决办法
php虽然提供了mail()函数,但并不好用,而PHPMailer是一个不错的邮件发送工具,使用起来也是非常简单!使用PHPMailer发送邮件: <?php header("cont ...
- Java基础系列(23)- 打印九九乘法表
package struct; public class ForDemo03 { public static void main(String[] args) { for (int line = 1; ...
- javascript 函数节流 throttle 解决函数被频繁调用、浏览器卡顿的问题
* 使用setTimeout index.html <html> <head> <meta charset="UTF-8"> <title ...
- requestAnimationFrame 切换页面问题
requestAnimationFrame 切换页面时, 之前定时的内容还会继续执行. 所以 要注意处理动画函数内容,否则会出现死循环. 遇到的问题: 我在两个页面都有使用 requestAnimat ...
- django对layui中csrf_token处理方式及其它一些处理
第一:由于layui官方是没有csrf_token处理机制,所以,在使用layui中post请求,请不要按layui官方提供的两种方法进行设置 官方设置如下: table.render({ elem: ...
- 定要过python二级选择题二套
1. 2. 3. 4. 5. 6. 7. 8. 非主属性???? 9. 10.. 11.` 调用只是调用,但是没有返回值,,应为里面没有输出 12. 13. 14. 15. 16. 18. 19.