- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
考虑这个简单的最小示例:
from traits.api import Instance, Str, HasTraits
class Person(HasTraits):
name = Str("hooked")
class Chair(HasTraits):
sitting = Instance(Person)
t = Chair()
print t.sitting.name
这会失败,因为 t.sitting
的计算结果为 None
。 Enthought's traits module将强制 t.sitting
的类型是 Person
但我怎样才能让默认人在这里实例化?我不想将任何参数传递给 Chair(**kwargs)
我希望它自动完成。 print 语句的预期输出是 hooked
。
最佳答案
您已经明确定义了 Chair
,因此它的默认实例不会实例化其属性 sitting
,这就是正在发生的事情。如果您希望默认实例化 sitting
,那么您可以。
所以选择吧。如果您想保留 Chair 的原始定义,但这次确保将 sitting 实例化为其默认值,则:
from traits.api import Instance, Str, HasTraits
class Person(HasTraits):
name = Str("hooked")
class Chair(HasTraits):
sitting = Instance(Person)
t = Chair(sitting=Person())
print t.sitting.name
但是,如果您希望始终使用默认的 sitting
实例化默认的 Chair,那么(编辑:并显示 traitsui 的实际效果):
from traits.api import Instance, Str, HasTraits
from traitsui.api import Item, View
class Person(HasTraits):
name = Str("hooked")
class Chair(HasTraits):
sitting = Instance(Person,())
view = View((Item( 'sitting', style = 'custom')))
t = Chair()
print t.sitting.name
t.configure_traits()
# or overridden by:
w = Chair(sitting=Person(name='snooked'))
print w.sitting.name
关于python - 实例化 Enthought 特征的默认实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32401318/
我正在使用 Enthought Traits/UI 系统,并希望在 Float 特征上强制执行最小值,该特征出现在 GUI 中并且可由用户编辑。 最佳答案 使用 Range特质代替。 Range(lo
我使用的是 openSUSE 12.3 64 位。 Canopy 发布时我成功安装了它,从那以后我通过删除 ~/Enthgout 和 ~/Canopy 来卸载它。 现在我尝试再次安装 Canopy,安
在库中是这样导入的特征: from enthought.traits.api import Int, Float # and the other bad thing: from enthought.t
我最近发现了 Enaml,这是一个来自 Enthought 的 Python GUI 开发包。我非常有兴趣将它与 Enthought Traits 和 Chaco 一起使用,以实现更快速的科学应用开发
我正在使用带有 PanTool 和 ZoomTool 的 chaco 散点图。通过平移和缩放与绘图交互后,我想要一个按钮将绘图重置为默认状态,基本上类似于 matplotlib 主页按钮。我搜索了文档
我正在使用 venv 从 PyPI 安装比根环境中可用的更新版本的 elpy 包。从 pip 查询,我看到 elpy 的以下版本: ~/python/standalone $ pip show elp
使用以下程序: from traits.api import HasTraits, Int, Instance from traitsui.api import View class NewView(
感谢 SO 上的另一位用户 (Warren Weckesser),我找到了一种格式化 TabularAdapter 列的好方法。我还想完成一些其他自定义,所以我想我应该将其发布给 SO,看看是否可以获
我已经在 Windows 7 上安装了 Enthought Canopy Express 1.03,最近更新到版本 1.1.0.1371,还根据帖子 Best way to install OpenC
我一直在尝试运行以下Python代码(来自Enthought的网站)来测试Enthought的Mayavi模块的动画功能。 from mayavi import mlab import numpy n
def print_square(i): print str(i*i) from multiprocessing import Pool p = Pool(1) for i in range(
如果我在 python 或 ipython 中使用箭头键,我不会得到我应该得到的,而是得到一个奇怪的字符组合:一切都像 this 中那样。线程,除了我从未从源代码编译过 python。 发生的事情大致
我正在处理一些代码,这些代码使用 Traits UI 来显示一个对话框,用户可以从中选择两个文件: class Files(HasTraits): filename_1 = File(exis
考虑这个简单的最小示例: from traits.api import Instance, Str, HasTraits class Person(HasTraits): name = Str
我在 Mac OS X PyCharm 上将 Enthought 设置为解释器: ~/Library/Enthought/Canopy_64bit/User 但是,它不显示来自 matplotlib
我使用的是32位Windows 7系统,我刚刚安装了Canopy Enthought Python(1.0.1)但是我无法正确运行它,因为我收到如下消息: “内核(用户 Python 环境)已终止,错
我之前使用 Qt 控制台使用 EPD Python 发行版,其中最有用的功能之一是在同时进行多项计算时轻松地在多个选项卡中拥有多个内核。 我最近得到了“新的”Enthought Canopy,它以某种
我在Canopy里面使用的是matplotlib库,具体函数是xkcd()。此函数使用特定字体来绘制图表。字体为 Comic Sans MS,如果不存在,应下载。 /home/luis/Enthoug
我有一个 HPlotContainer,默认有 2 个空 LinePlots,使用 create_line_plot() 工厂函数创建。然后我执行一些计算并想更新绘图。如何访问 LinePlot 的
我正在尝试使用 Python(2.7)、flask、apache2、mod_wsgi 和 Enthought Canopy 虚拟环境(使用 Canopy 附带的 canopy_cli 命令行界面创建)
我是一名优秀的程序员,十分优秀!