问题标签 [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 - 接收异步数据源以使用 Chaco 绘图的可行方法是什么?
我正在探索 Enthought 的Traits / TraitsUI / Chaco包,因为我想利用强大的动态绘图工具。我有来自外部来源的数据,我希望用它来更新一组 Chaco 图。我研究了和示例,但它们会定期从重复的 Timer 事件的流/文件/源中提取数据,而不是接收异步输入事件。spectrum.py
data_stream.py
我不清楚如何删除 Timer 而是异步触发 Array 更新。可能可以使用计时器进行轮询,但我想扩展以合并几个不同的外部源,并且我需要某种“服务器”进程来管理它——它不能真正被 GUI 主循环阻止。截至目前,我想合并一个 TCP 服务器,它接受不可预测的传入客户端连接,每个连接都提供新的数据来绘制。
是否可以设置第二个线程来处理所有套接字通信并使用它来调用.set_data()
以触发绘图重绘?或者这会干扰 GUI 主循环和/或导致 Traits/Chaco 中的竞争条件?
或者是否有另一种方式来思考这个问题,在 Traits 范式中更有意义?
python - 在 Item 中使用 HasTraits 对象时,从多个视图中进行选择
有没有办法为一个HasTraits
对象定义多个视图,并在将它们显示为时选择它们Item
?
最后一项中的关键字view
只是为了说明我希望它如何工作。
python - 当从另一段代码作为实例调用时如何显示对象特征
我刚开始使用 TraitsUI,我是 Python 初学者。我希望这个问题不要太低级。
我想显示在 ControlPanel 中设置的按钮,从 Main 调用它。当我执行以下操作时,我只是一个带有“面板”按钮的窗口。如果我单击该按钮,我会得到另一个带有我想要的“开始”按钮的窗口。我如何才能获得带有“开始”按钮的窗口?
谢谢,科斯莫
主要的:
python - 为什么属性不会在用户输入的 traitsui 中更新
我有一个简单的程序,它从用户那里获取文本输入,并将其显示在仪器(Keithley)上。但是,属性似乎没有改变。也就是说,当我运行 Start 方法时,输出是“Wowee”,即使我在弹出窗口中更改了显示。我必须让它可编辑吗?我不这么认为。我基本上遵循Gael Varoquaux对特质的介绍。
控制面板.py:
Keithley3706A.py:
python - traitsui 对象模型是如何工作的
有人可以解释为什么这段代码会崩溃吗?我认为应该发生的是,如果它使用完全限定的特征名称,它不应该崩溃,在这种情况下就是这样。
当我运行这个时,我得到
但它确实,如果你检查对象。
我正在摆弄这个例子,如果我cur_struct
用一个Property
特征替换它,我让它正常工作,我不知道为什么。但是,这对于我的实际应用程序是不可行的,其中另一个类侦听来自完全不同的类的事件并切换cur_struct
。
python - 将 CheckListEditor 与 List(Str) 以外的东西一起使用
CheckListEditors 是否能够处理不是字符串但实现__str__
和的对象列表__repr__
?
python - 特征的访问值,例如目录
我正在做简单的文件 I/O。我有一个 Directory traitSaveDir
和一个 File trait SaveFile
。如何访问在 GUI 中输入的目录路径或默认路径?例如,我想将其打印出来,如下例所示。
我是否使用 get_value,例如SaveDir.get_value
?我想不通...
一旦我可以访问该值,我想创建一个路径字符串,以便我可以打开文件进行写入,例如self.writefile = open(path,'w')
.
谢谢,科斯莫
traits - TableEditor 无法更新正确的范围
我遇到了RangeEditor
在TableEditor
.
这个程序产生的行为是范围只能在 0 和 1 之间调整。如果mode='spinner'
没有指定,它的作用就像范围是 0 和 1 之间的浮点数。当然,在上面的例子中,只要范围设置为0 吐出一个错误,因为该特征不接受除区间 [1,6] 以外的任何值。
这种行为很明显是一个错误,并且可能永远不会随着 enaml 的发展而得到修复。但是有一个简单的解决方法吗?
python - 如何在活动窗口中动态更改traitsui视图
我想设置一个接口,以便在侦听特征时,该接口将在不同的预定义View
对象之间切换。这是一个例子:
这段代码可以正常工作,并且可以完成所展示的玩具示例所需的一切。但是,我的应用程序具有复杂的编辑器(包括但不一定限于SceneEditor
用于 mayavi 场景的编辑器),这些编辑器在处理时会破坏其全部内容。我想知道是否有一种更简单的方法可以在窗口处于活动状态时动态更改特定Item
或子面板的视图(更改Instance
不更改的视图就可以了),无论是通过简单还是诡计。
python - Python TraitsUI - 如何控制“字符串”特征编辑器/视图的滚动条位置
我正在使用 Traits 4 构建一个简单的交互式 GUI 应用程序。此应用程序将在 GUI 的专用部分显示带有时间戳的事件日志。此日志当前存储为字符串特征。
String trait 的默认编辑器(或视图?不确定确切的命名法)是一个可滚动的多行显示小部件。当内部字符串值更改时,小部件会更新以显示新值。如果内容的长度超过了小部件的可视大小,则会出现一个滚动条,允许用户在整个值上上下滚动。
似乎当小部件刷新并且垂直滚动条可见(内容超过小部件大小)时,视图重置到值的开头(顶部),并且滚动条也返回到顶部,遮盖了值的最后部分.
在我的应用程序中,我希望日志中的最新事件(在底部)始终在值刷新后显示。但是由于视图重置到值的顶部,它不会跟随最新的条目,并且用户必须在每次刷新后不断滚动到底部。这在这种形式中是不可用的。
有没有一种简单的方法可以将此特征的编辑器/视图配置为从底部滚动?
如果没有,如何为这个 String trait 编写自定义编辑器/视图?是否有必要使用 wx/qt4 原语从头开始编写新视图,或者是否有某种方法可以从现有视图派生新视图并仅覆盖实现所需功能所需的部分?
这是一些演示该问题的示例代码:
多次单击“开始停止捕获”按钮,直到视图填满,您会观察到后续刷新会将滚动条位置重置到视图顶部。