小编jse*_*uer的帖子

Kivy ObjectProperty更新标签文本

我正在创建一个kivy用户界面来显示由我编写为标准python对象的数据模型生成的值.本质上,我希望用户能够按下一个按钮,这将改变底层数据模型,并且将自动更新和显示此更改的结果.我的理解是,这可以使用kivy属性(在本例中为ObjectProperty)来实现.

这是一些示例代码:

import kivy
kivy.require('1.7.0')

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.properties import ObjectProperty
from kivy.lang import Builder

Builder.load_string("""
<RootWidget>:
    cols: 2
    Label:
        text: "Attribute a:"
    Label:
        text: root.data_model.a
    Label:
        text: "Attribute b:"
    Label:
        text: root.data_model.b
    Label:
        text: "Attribute c:"
    Label:
        text: root.data_model.c
    Button:
        text: "Make data_model.a longer"
        on_press: root.button_press()
    Button:
        text: "Make data_model.b shorter"
        on_press: root.button_press2()
""")


class DataModel(object):
    def __init__(self):
        self.a = 'This is a'
        self.b ='This is b'

    @property
    def c(self):
        return self.a + …
Run Code Online (Sandbox Code Playgroud)

python kivy

9
推荐指数
1
解决办法
9549
查看次数

整数的 astype float32 与 float64 中的错误

我确信这是由于我对不同精度的浮点数之间的转换如何工作的理解上的失误,但有人可以解释为什么该值在 32 位与 64 位表示中被转换为比其真实值小 3 的值吗?

>>> a = np.array([83734315])
>>> a.astype('f')
array([ 83734312.], dtype=float32)
>>> a.astype('float64')
array([ 83734315.])
Run Code Online (Sandbox Code Playgroud)

python floating-point numpy python-2.7

5
推荐指数
1
解决办法
2万
查看次数

在模块中使用isinstance

我已经观察到涉及对象“ AuditResult”的怪异现象,希望有人可以帮助我理解。我有这样一个模块设置:

模型\
   __init__.py
   common.py(AuditResult是从audit.py导入的)
   audit.py(AuditResult所在的位置)
   objects.py
   test.py

在test.py中,如果我使用导入了AuditResult对象from common import AuditResult,则会出现以下结果:

>>> isinstance(audit_obj, AuditResult)
False
>>> type(audit_obj)
<class 'model.audit.AuditResult'>
>>> AuditResult
<class 'audit.AuditResult'>
Run Code Online (Sandbox Code Playgroud)

但是,如果使用from model.common import AuditResult,代码将按预期运行。

>>> isinstance(audit_obj, AuditResult)
True
>>> type(audit_obj)
<class 'model.audit.AuditResult'>
>>> AuditResult
<class 'model.audit.AuditResult'>
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
845
查看次数

标签 统计

python ×3

floating-point ×1

kivy ×1

numpy ×1

python-2.7 ×1