表格组件
table_parameterItem
和 table_parameter
类扩展了 pyqtgraph
参数树的功能,使其能够以表格形式显示和编辑 NumPy 记录数组。通过注册自定义参数类型,这些类可以轻松地集成到现有的 pyqtgraph
应用程序中,提供灵活且强大的数据编辑功能。概述
这个代码定义了一个用于编辑 NumPy 记录数组的自定义参数类型 table_parameter
,并在 PyQt 环境中实现了一个表格小部件,用于显示和编辑记录数组的数据。
table_parameterItem
类
table_parameterItem
继承自 pTypes.WidgetParameterItem
,是一个用于编辑 NumPy 记录数组的表格小部件。
主要方法
__init__(self, param, depth)
:- 初始化参数项,并隐藏小部件。
makeWidget(self)
:- 创建一个表格小部件 (
QTableWidget
)。 - 获取初始值,并根据值的结构设置表格的行列数和标题。
- 连接信号和槽,以便在表格内容更改时触发相应的操作。
- 创建一个表格小部件 (
value(self)
:- 获取表格当前的值,并返回一个 NumPy 记录数组。
- 尝试从表格中读取数据并填充到 NumPy 数组中,如果失败则返回初始值。
setValue(self, arr)
:- 设置表格的值。
- 根据提供的 NumPy 数组填充表格的每个单元格。
valueChanged(self, param, val, force=False)
:- 当参数值更改时调用,更新表格的显示内容。
- 断开信号连接,更新表格值后重新连接信号,确保信号处理不会重复触发。
table_parameter
类
table_parameter
继承自 Parameter
,用于管理和存储表格参数项的值。
主要方法
__init__(self, **opts)
:- 初始化参数项,传递其他参数选项。
setValue(self, value, blockSignal=None)
:- 设置参数项的值,并返回实际设置的值。
- 在设置值之前断开信号连接,避免信号重复触发,设置完毕后重新连接信号。
valueIsDefault(self)
:- 判断当前值是否等于默认值。
- 返回一个布尔值,表示当前值是否等于默认值。
registerParameterType
函数
使用 registerParameterType
函数将自定义参数类型 table_parameter
注册到参数树中,使其可以在参数树中使用。
使用场景
- 该代码主要用于需要在图形用户界面中编辑和显示 NumPy 记录数组的场景。
- 适用于科学计算、数据分析等需要处理大量数据的应用程序。
- 提供了一种灵活的方式在 PyQt 应用程序中集成和使用表格参数项。