python的objectproperty,python – ObjectProperty类的用法
我刚开始学习kivy,我对ObjectProperty类的用法非常困惑,以及它如何将None作为参数.有人可以解释一下吗?我在kivy教程中找到了它:
class PongGame(Widget):
ball = ObjectProperty(None)
def update(self, dt):
self.ball.move()
# bounce off top and bottom
if (self.ball.y < 0) or (self.ball.top > self.height):
self.ball.velocity_y *= -1
# bounce off left and right
if (self.ball.x < 0) or (self.ball.right > self.width):
self.ball.velocity_x *= -1
最佳答案 Kivy属性是一个类似于Python自己的属性的便利类,但它也提供类型检查,验证和事件. ObjectProperty是Property类的专用子类,因此它具有与它相同的初始化参数:
By default, a Property always takes a default value[.] The default
value must be a value that agrees with the Property type. For example,
you can’t set a list to a StringProperty, because the StringProperty
will check the default value.
None is a special case: you can set the default value of a Property to
None, but you can’t set None to a property afterward. If you really
want to do that, you must declare the Property with allownone=True[.]
在你的代码中,PongGame有一个ball属性,最初设置为None,稍后会被赋予一个ball对象.这是在kv文件中定义的:
:
ball: pong_ball
PongBall:
id: pong_ball
center: self.parent.center
由于没有对象传递给初始化器,因此可以将任何对象分配给该属性.你可以通过用虚拟值初始化它来限制它只保持球对象:
ball = ObjectProperty(PongBall())
python的objectproperty,python – ObjectProperty类的用法相关推荐
- python 包用法_Python 基础教程之包和类的用法
Python 基础教程之包和类的用法 这篇文章主要介绍了 Python 基础教程之包和类的用法的相关资料, 需要的朋友可以参考下 Python 是一种面向对象.解释型计算机程序设计语言,由 Guido ...
- python accessiblechildren用法_python类继承用法实例分析
本文实例讲述了python类继承用法.分享给大家供大家参考.具体如下: help('object') # test class Class1(object): """ C ...
- python的编程模式-Python设计模式之状态模式原理与用法详解
本文实例讲述了Python设计模式之状态模式原理与用法.分享给大家供大家参考,具体如下: 状态模式(State Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类 ...
- Python爬虫进阶五之多线程的用法
前言 我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理. 首先声明一点! 多线程和多进程是不一样的!一个是 thread ...
- python classmethod_对Python中的@classmethod用法详解
在Python面向对象编程中的类构建中,有时候会遇到@classmethod的用法. 总感觉有这种特殊性说明的用法都是高级用法,在我这个层级的水平中一般是用不到的. 不过还是好奇去查了一下. 大致可以 ...
- python中content的用法_学python吗,教你5个python现学现用的有趣用法
在我们使用python的过程中也会遇到一些有意思的用法,这里找到了一些总结有趣的 话不多说,接着看下去吧!!!!python高薪就业(视频.学习路线.免费获取)shimo.im for-else用法 ...
- Python Tree库绘制多叉树的用法介绍
Python Tree库绘制多叉树的用法介绍 Tree 库是一个 Python 的第三方库.这个库主要用于生成树和绘制树的图形. 一.安装Tree pip install Tree 使用 Tree 库 ...
- Python treelib库创建多叉树的用法介绍
Python treelib库创建多叉树的用法介绍 treelib 库是一个 Python 的第三方库.这个库实现了一些多叉树相关的常用方法. 一.安装treelib pip install tree ...
- python 枚举类型_Python枚举类
本篇主要介绍Python中枚举类的用法,更多内容请参考:Python学习指南 当我们需要定义常量时,一个办法就是用大写变量通过整数来定义,例如月份: JAN = 1 FEB = 2 MAR = 3 · ...
- python中iter函数_Python iter()函数用法详解
Python iter()函数用法实例分析 本文实例讲述了Python iter()函数用法.分享给大家供大家参考,具体如下: python中的迭代器用起来非常灵巧,不仅可以迭代序列,也可以迭代表现出 ...
最新文章
- Centos 7环境下源码安装PostgreSQL数据库
- 微信为什么不进入鸿蒙生态,马化腾为何迟迟不将微信, 加入任正非的华为鸿蒙生态系统中呢?...
- NS2相关学习——在ns中模拟无线场景
- canvas--绘制路径
- UVA11039 Building designing【排序】
- opencv 图像平滑、图像模糊函数的使用
- 论文评析-Incremental Boosting Convolutional Neural Network for Facial Action Unit Recognition,NIPS, 2016
- linux导入通达oa数据库,将通达OA迁移到linux平台
- 不错的网络协议栈测试工具 — Packetdrill
- linux svn服务器同步,Linux服务器实现SVN与WEB同步解决方案
- sata 双硬盘 电源线_电脑双硬盘安装图解教程
- 【Python实现】运输问题的表上作业法(二):利用位势法判断当前解的最优性
- 万能地图下载器如何下载屏幕之外的谷歌卫星地图
- 黑暗森林:V神和Paradigm联创都在玩的三体游戏(dark forest)
- 手机射频中的常见术语
- python与spider的区别_python – Scraw spider与Scraped items之间的区别
- unhandled exception in XXX:0xC0000005:access violation问题
- FireFox必备插件(一)
- js随机生成验证码(数字+字母)
- 金蝶K3总账期初数据录入案例教程
热门文章
- python 字典排序成绩_原来python中dict()的高级用法可以这样实现!真是让我长了见识...
- kaggle房价预测特征意思_未来销量预测——Kaggle基础方案(三):特征工程及线下验证划分...
- ajax怎么添加表单,使用Ajax动态地将表单添加到Django表单集
- java解析字符串_java 拼接字符和解析字符串
- 【转】余弦相似度及基于python的三种代码实现、与欧氏距离的区别
- Win7 网络连接正常 无法上网
- CentOS 7.4 安装Nginx
- WAN killer
- django1.2中将ManyToManyField呈现为checkbox
- Centos yum安装snmp