问题标签 [traitsui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 将 pandas DataFrame 暴露给 TraitsGUI 可编辑表
我在 Enthought Canopy 演示中注意到,有几段代码将列表和 numpy 数组公开为 TraitsUI 可编辑表。我希望对 Pandas DataFrame 做同样的事情。本质上,我希望能够在我的 DataFrame 中编辑几列,并有一个回调来重新计算其他列(取决于编辑的列)。
有谁知道任何可能让我开始通过 TraitsUI 表公开 DF 对象的示例代码?
python - 嵌套 HasTraits 对象的视图
我无法使用 nested 让视图按预期工作HasTraits
。例如:
我想导入 b 的类并将其分配给 A,
这有效,但是B()
当a
我a.configure_traits()
(注意这是相关的,但与这篇文章不同)
enthought - Traitsui Qt4 菜单操作在 linux 中出现错误(适用于 windows)
我正在尝试让一个 traitsui/Chaco 应用程序在 linux 上工作。它在 Windows 上稳定且运行良好。我注意到,当我在 linux 上运行我的应用程序时(我使用的是 Raspbian wheezy),每当我单击调用操作的菜单项时,都会出现以下错误:
下面是一个产生问题的最小示例。菜单在 Windows 上运行良好且正确,但是当我在 linux 上运行它时,每当我单击菜单项时都会出现上述错误。
我注意到 tes_actions.py 文件中对此有一些评论(第 113 行)
https://github.com/enthought/traitsui/blob/master/traitsui/tests/test_actions.py
但我不明白这是什么意思。有谁知道如何解决这个问题?我认为必须有一种方法可以让菜单操作在 Linux 中运行。
谢谢!
python - 如何在 Enthought Traitsui 中使查看项目只读且可滚动?
我正在使用 Enthought Traitsui 中的视图。在一个视图中,我正在使用Item('strings', enabled_when='len(x)>20')
, where'strings'
是一个字符串列表,并且len(x)>20
永远不会是真的。如果列表中的字符串超过三个,我就无法全部看到它们。我希望能够滚动浏览所有字符串,但同时不允许编辑字符串。有谁知道我是否可以拥有一个只读和可滚动的项目,如果不是,还有什么替代品?谢谢你。
python - traitsui 中的表格编辑器;'selected' 属性一直指向无,on_trait_change 不起作用
亲爱的社区成员,
我目前遇到了TableEditor
'selected
属性的问题(traits 版本 4.5.0,traitsui 版本 4.5.1,Ubuntu)。该问题仅发生在一种特殊的俄罗斯套娃结构中,如下面的代码所示。基本上,无论如何,selected
一直指向None
。相应地,观察特征变化是行不通的。
这是说明我的观点的代码:
如果您现在按“发生了什么事?” 按钮,您将看到特征的 idNone
和trait 的 id 保持不变,无论您单击selected_guy
哪一行。TabularEditor
这是预期的行为吗?您是否有任何解决方法,允许使用该Matryoshka
结构,否则对我保持我的代码井井有条是有益的?
任何建议都将受到欢迎!
问候,
简
python - MenuBar 没有出现在 InstanceEditor 中
我正在尝试在我的 traitsui 可视化程序应用程序中构建一系列菜单。我的 GUI 由一系列面板组成,这些面板都使用不同的模型对象,这些面板都使用 InstanceEditors 显示在主 GUI 中。这有很多好处,包括面板可以随时被垃圾收集和重建(这对于 mayavi 可视化很重要,因为 mayavi 有问题,通常最好在用户进行大量更改后丢弃场景并重新开始)。
我遇到的问题是菜单没有出现在我的 GUI 的任何子面板中。
这是一个最小的工作示例。
预期的行为是调用Panel().configure_traits()
和Application().configure_traits()
结果在相同的 GUI 中,具有功能菜单(带有一个名为“Do stuff”的项目,单击时打印 400)和可以编辑的字符串。
我看到的实际行为是面板 GUI 既有字符串又有菜单,而应用程序 GUI 有字符串但菜单没有出现。
有没有办法让菜单从内部显示为 GUI 小部件InstanceEditor
?
python - Python traitsui 保存文件对话框 - 覆盖
traitsui
使用Enthought的包实现文件保存对话的正确方法是什么?目前,我有实际的保存功能来观察特征filename_out
(即File
特征)的变化。不出所料,当用户想要重复保存到同一个文件时,这没有任何作用,每次都覆盖它。每次用户在 FileEditor 对话框中确认覆盖时,如何让它保存文件?
一小段不工作的代码:
选择文件位置后,将保存数组。再次调用文件对话框后,选择相同的文件,要求用户确认覆盖。但是,没有任何反应,因为filename_out
没有改变。
编辑:我想澄清一下,FileEditor确实要求确认覆盖,但不保存文件。
file - 在 traits.api 文件特征中,如何强制目录为只读?
我有一个软件可以让用户从 traits.api 文件特征中选择数据库位置,如下所示:
类 DbPreferencesHelper(PreferencesHelper): dbLocation = File()
类 DbPreferencesPane(PreferencesPane): view = View(Item('dbLocation', label='Location of database'))
用户可以浏览目录并选择一个文件。我想限制用户可以从中选择文件的目录。有什么办法可以做到吗?如果没有,我可以使用 pyface.api FileDialog 吗?
谢谢你。
python - TraitsUI 中 BoundsEditor 的使用
我想使用 BoundsEditor(在 TraitsUI 中)进行范围选择。如何访问高值和低值?对于测试,我使用 RangeEditor - 它按预期工作(在移动滑块时打印当前值)。但我无法从 BoundsEditor 中获取任何值。任何指针表示赞赏。
我使用以下(简化代码):
python-2.7 - 运行时创建的特征的非 hacky 解决方案无法在视图中显示
我反复发现自己处于这种情况,
问题:我想在我的主显示器中显示 ai,aj,ak。
约束:
(1) i,j,k 绝对必须是 A 而不是 MainDisplay 的成员。将它们包含在 MainDisplay 中是没有意义的,如果我对每个特征都这样做,MainDisplay 会变得过于混乱。
(2) MainDisplay 不能继承类 A。如果是,我可以在 traits_view 中执行“Include('a_display')”。这是从 MainDisplay 划分一些代码的一个很好的技巧,但在我的情况下它不起作用。
(3) MainDisplay 不能简单地复制 A 中的特征,然后将它们同步。例如 MainDisplay.dummy_i=Int(),然后在稍后的 init 中,self.sync_traits('dummy_i',self.a,'i',mutual=True)。最后在 MainDisplay.traits_view 中使用“dummy_i”。这同样有效,但 MainDisplay 类再次变得如此混乱!此外,每次我想更改 GUI(或特征)时,我都有两个地方要编辑,这会减慢开发速度。
我是 GUI 新手,但我觉得无法在运行时创建变量是一个奇怪而尴尬的限制。我的印象是,看起来要替换 traitsUI 的 Enaml 也有这个限制。
我的主要兴趣是显示 Mayavi 创建的 3D 几何图形并与之交互。PyQt可能没有这个限制吗?