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来说,则是一个用于存放 ...
随机推荐
- JUnit5 快速入门指南
1. 安装 在pom中添加依赖 <properties> <junit.jupiter.version>5.3.2</junit.jupiter.version> ...
- openswan协商流程之(七):main_inR3
主模式第六包(收包):main_inR3 1. 序言 main_inR3()函数是ISAKMP协商过程中第一阶段的最后一个报文的接收处理函数,它的作用同main_inI3_outR3()部分功能相同: ...
- 密码学系列之:海绵函数sponge function
目录 简介 海绵函数的结构 海绵函数的应用 简介 海绵函数sponge function是密码学中使用的一种函数,它接收一定长度的输入,然后输出一定长度的输出,中间包含了有限个内部状态. 因为海绵函数 ...
- 5-7接口测试工具之jmeter的使用
1.安装 免费的,安装jdk配好系统环境变量就能用了 2.jmeter测接口 获取用户信息,接口文档定义有2种请求方式 添加线程组-->添加http请求-->输入接口文档中说明的服务器名称 ...
- ESP8266- 使用AT指令获取网络时间
前言:很早就考虑过用 ESP8266 获取网络时间,以前都是用 ESP8266 刷机智云的 Gagent 固件,但无奈现在手头的 ESP-01 的 Flash 只有 1M,实在无法胜任.经过在网络上的 ...
- PHP中的强制类型转换
学过静态语言开发的朋友对类型转换不会陌生,比如Java.C#.C++等.静态语言的好处就是变量强制必须指定类型,这也是编译的要求,所以大部分编译型的语言都会有强制变量类型的要求.而PHP据说也会在PH ...
- php move_uploaded_file保存文件失败
move_uploaded_file保存失败后找错,先使用了try catch,但是没输出信息,才知道该函数在php中是警告属于error,不属于exeption,因此不能通过简单的if(!...)处 ...
- Django边学边记--状态保持(cookie和session)
Cookie 概念: Cookie,也叫Cookies,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密),好比会员卡或餐票. 特点: Cookie是由服务 ...
- iGuard6.0 — 各适其用的网站防护体系
随着互联网新技术的涌现,网站的架构技术和涉及的资源也日益多样且复杂化.这对网站各类资源的防护工作也提出了更高的挑战和更细粒度的需求. 我们经常碰到的用户真实需求包括: 我的 CMS 制作系统,会不会 ...
- HTML 网页开发、CSS 基础语法——六. HTML基本结构
1.基本骨架 HTML文件最基本的四个标签,组成了网页的基本骨架,包括:<html>. <head>.<title>.<body>四组标签. ① < ...