表格组件
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 应用程序中集成和使用表格参数项。