步骤
-
创建事件结构:
-
打开LabVIEW,创建一个新的VI。
-
在前面板上添加一个Waveform Graph控件。
-
在后面板上添加一个While Loop和一个事件结构(Event Structure)。
-
配置事件结构,选择Waveform Graph作为事件源,并选择
Mouse Move
事件。
-
-
获取鼠标位置:
-
在事件结构中,右键点击Waveform Graph,选择创建
Invoke Node
,然后选择Map Coordinates To XY
方法。 -
通过事件数据节点(Event Data Node)获取鼠标位置的坐标。
-
-
获取曲线上的点:
-
再次右键点击Waveform Graph,选择创建
Invoke Node
,然后选择Get Plot At Position
方法。
-
-
显示坐标信息:
-
在前面板上添加一个字符串指示器(String Indicator)。
-
为字符串指示器创建属性节点(Property Node),包括
Visible
、Position
和Value
属性。 -
将事件数据节点中的坐标数据传递给
Map Coordinates To XY
的输入端。使用拆包函数(Unbundle Function)提取X和Y坐标值。 -
将坐标值转换为字符串格式,使用
Number To Fractional String
函数。 -
在鼠标悬停在曲线上的时候,显示字符串指示器。
-
具体步骤实现
-
前面板设计:
-
添加Waveform Graph控件和字符串指示器。
-
-
后面板设计:
-
在While Loop中添加事件结构。
-
配置事件结构,选择Waveform Graph作为事件源,选择
Mouse Move
事件。 -
创建
Invoke Node
,选择Map Coordinates To XY
和Get Plot At Position
方法。 -
创建字符串指示器的属性节点,包括
Visible
、Position
和Value
属性。 -
将事件数据节点的坐标数据传递给
Map Coordinates To XY
。 -
使用拆包函数提取X和Y坐标值,并将其转换为字符串格式。
-
在鼠标悬停在曲线上的时候,显示字符串指示器。
-
额外信息
-
可以将上述功能编译为XControl,即使VI停止执行,用户仍然可以获取坐标信息。
-
创建XControl时,将Waveform Graph和字符串指示器复制到
Façade.vi
前面板,并在块图中创建新的Mouse Move
事件。
通过上述步骤,你可以在LabVIEW中实现鼠标悬停在波形图上时显示相应点的坐标。这样,即使VI停止运行,用户也能继续获取坐标信息。
参见链接Display the Coordinates When the Mouse Hovers over the Curve of the Graph - NI