问题标签 [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.

0 投票
0 回答
168 浏览

python - 将 pandas DataFrame 暴露给 TraitsGUI 可编辑表

我在 Enthought Canopy 演示中注意到,有几段代码将列表和 numpy 数组公开为 TraitsUI 可编辑表。我希望对 Pandas DataFrame 做同样的事情。本质上,我希望能够在我的 DataFrame 中编辑几列,并有一个回调来重新计算其他列(取决于编辑的列)。

有谁知道任何可能让我开始通过 TraitsUI 表公开 DF 对象的示例代码?

0 投票
1 回答
77 浏览

python - 嵌套 HasTraits 对象的视图

我无法使用 nested 让视图按预期工作HasTraits。例如:

我想导入 b 的类并将其分配给 A,

这有效,但是B()aa.configure_traits()

(注意这是相关的,但与这篇文章不同)

0 投票
1 回答
60 浏览

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 中运行。

谢谢!

0 投票
1 回答
229 浏览

python - 如何在 Enthought Traitsui 中使查看项目只读且可滚动?

我正在使用 Enthought Traitsui 中的视图。在一个视图中,我正在使用Item('strings', enabled_when='len(x)>20'), where'strings'是一个字符串列表,并且len(x)>20永远不会是真的。如果列表中的字符串超过三个,我就无法全部看到它们。我希望能够滚动浏览所有字符串,但同时不允许编辑字符串。有谁知道我是否可以拥有一个只读和可滚动的项目,如果不是,还有什么替代品?谢谢你。

0 投票
0 回答
135 浏览

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结构,否则对我保持我的代码井井有条是有益的?

任何建议都将受到欢迎!

问候,

0 投票
1 回答
135 浏览

python - MenuBar 没有出现在 InstanceEditor 中

我正在尝试在我的 traitsui 可视化程序应用程序中构建一系列菜单。我的 GUI 由一系列面板组成,这些面板都使用不同的模型对象,这些面板都使用 InstanceEditors 显示在主 GUI 中。这有很多好处,包括面板可以随时被垃圾收集和重建(这对于 mayavi 可视化很重要,因为 mayavi 有问题,通常最好在用户进行大量更改后丢弃场景并重新开始)。

我遇到的问题是菜单没有出现在我的 GUI 的任何子面板中。

这是一个最小的工作示例。

预期的行为是调用Panel().configure_traits()Application().configure_traits()结果在相同的 GUI 中,具有功能菜单(带有一个名为“Do stuff”的项目,单击时打印 400)和可以编辑的字符串。

我看到的实际行为是面板 GUI 既有字符串又有菜单,而应用程序 GUI 有字符串但菜单没有出现。

有没有办法让菜单从内部显示为 GUI 小部件InstanceEditor

0 投票
2 回答
537 浏览

python - Python traitsui 保存文件对话框 - 覆盖

traitsui使用Enthought的包实现文件保存对话的正确方法是什么?目前,我有实际的保存功能来观察特征filename_out(即File特征)的变化。不出所料,当用户想要重复保存到同一个文件时,这没有任何作用,每次都覆盖它。每次用户在 FileEditor 对话框中确认覆盖时,如何让它保存文件?

一小段不工作的代码:

选择文件位置后,将保存数组。再次调用文件对话框后,选择相同的文件,要求用户确认覆盖。但是,没有任何反应,因为filename_out没有改变。

编辑:我想澄清一下,FileEditor确实要求确认覆盖,但不保存文件。

0 投票
0 回答
41 浏览

file - 在 traits.api 文件特征中,如何强制目录为只读?

我有一个软件可以让用户从 traits.api 文件特征中选择数据库位置,如下所示:

类 DbPreferencesHelper(PreferencesHelper): dbLocation = File()

类 DbPreferencesPane(PreferencesPane): view = View(Item('dbLocation', label='Location of database'))

用户可以浏览目录并选择一个文件。我想限制用户可以从中选择文件的目录。有什么办法可以做到吗?如果没有,我可以使用 pyface.api FileDialog 吗?

谢谢你。

0 投票
1 回答
204 浏览

python - TraitsUI 中 BoundsEditor 的使用

我想使用 BoundsEditor(在 TraitsUI 中)进行范围选择。如何访问高值和低值?对于测试,我使用 RangeEditor - 它按预期工作(在移动滑块时打印当前值)。但我无法从 BoundsEditor 中获取任何值。任何指针表示赞赏。

我使用以下(简化代码):

0 投票
1 回答
47 浏览

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可能没有这个限制吗?