LabVIEW 初级教程
弹出对话框
程序运行过程中,经常会遇到这样的情况:程序迚行某些操作时,如删除文件、放弃当前
的操作、对用户操作的响应等,需要用户确认或选择后,再迚行下一步的操作。使用对话
框来要求用户响应是一种简单直观的方式。LabVIEW 中有多种方式实现弹出对话框的功
能。
1. 使用 LabVIEW 对话框
LabVIEW 对话框可以实现简单的用户确认功能。对话框有三种:单按钮、双按钮和三按
钮。在程序框图里,点击右键,选择对话框与用户界面,就可以看到这三个 VI(图 1)。
弹
出
对
话
框
图 1 LabVIEW 对话框
单按钮对话框——显示含有一条消息和一个按钮的对话框。该对话框可以实现用户确
认的功能。例如,图 2 中弹出的对话框就是一个单按钮对话框。
图 2 单按钮对话框
双按钮对话框——显示含有一条消息和两个按钮的对话框。两个按钮分别为 T 按钮和
F 按钮,同时,双按钮对话框有一个“T 按钮?”的布尔量输出,如单击 T 按钮,T 按
钮?将返回 TRUE。如单击 F 按钮,T 按钮?将返回 FALSE。使用这一输出,可以实现根
据用户的按键选择(确定/取消)而执行相应操作。例如,图 3 中的对话框要求用户根据
1
LabVIEW 初级教程
需要选择或是放弃 LED 灯闪烁。
弹
出
对
话
框
图 3 双按钮对话框
三按钮对话框——显示含有一条消息和三个按钮的对话框。三按钮对话框有一个“哪
个按钮?”的数值输出,根据不同的按键(左、中、右)而改变它的输出值。因此,三按
钮对话框可以根据用户的不同按键选择而实现更加复杂的功能。例如:图 4 中的三按钮对
话框为用户提供了 3 种选择。
图 4 三按钮对话框
注:请参考 LabVIEW 帮助文档,以获得以上 VI 的详细信息。
2. 使用 Express VI
使用对话框的 Express VI 与用户交互,不仅可以接收用户按键的输入,也可以接收其他数
据类型的输入,(字符串、数字和布尔),同时可以设置弹出对话框的窗口标题。对话框
的 Express VI 位于程序框图,右键>>对话框与用户界面,分别是提示用户输入.vi 和显示
对话框信息.vi。
2
LabVIEW 初级教程
弹
出
对
话
框
图 5 对话框 Express VI
提示用户输入——显示标准对话框,提示用户输入用户名、密码等信息。将该 VI
拖拽到程序框图后,会弹出设置对话框,提示设置显示的信息、输入、显示的按钮和窗口
标题等内容,如图 6 所示。
图 6 配置提示用户输入
经过如图 6 的配置后,运行程序,弹出如下对话框。同时,按了确定按钮后,用户的输入
将传递到 VI 的程序框图中,以便程序对其处理。
图 7 提示用户输入对话框
3
LabVIEW 初级教程
显示对话框信息——创建含有警告或用户消息的标准对话框。该 VI 的功能和单按
钮或双按钮对话框的功能类似。
3. 使用子 VI
使用子 VI 实现弹出对话框的功能,不仅可以接收用户按键和各种数据类型的输入,同
时,按键和输入控件的个数、位置、形状都不受限制,甚至可以设置弹出窗口的背景、字
体,从而实现弹出对话框完全的自定义。例如,可以使用子 VI 设计出如图 8 所示的对话
框。
弹
出
对
话
框
图 8 子 VI 对话框(一)
子 VI 对话框界面设计
一个普通 VI 的界面包含了窗口标题、菜单栏、工具栏和编辑区域(图 9)。
图 9 普通 VI 界面
子 VI 运行的过程中,这些项目都会显示,而作为一个标准的对话框,一般希望只显示 VI
的编辑区域和窗口标题,有时窗口标题也不显示(如图 8)。同时,对窗口的大小也有一
定的要求,有时还希望弹出窗口运行在某一个特殊的位置。在 LabVIEW VI 属性对话框中
提供了多种方式供用户自定义 VI 对话框的界面。右键单击前面板或程序框图右上角的 VI
4
LabVIEW 初级教程
图标并从快捷菜单中选择 VI 属性,或选择文件»VI 属性,均可显示 VI 属性对话框。涉及
VI 界面设计的 VI 属性主要是窗口外观、窗口大小和窗口运行时位置。
窗口外观-自定义窗口外观,包括窗口标题设置和窗口样式设置。LabVIEW 为用
户提供了四种窗口样式:顶层应用程序窗口、对话框、默认和自定义。当用户选择
对话框时,运行该 VI 只会显示 VI 的窗口标题和编辑区域。用户也可以点击自定
义…按钮而对 VI 窗口样式完全自定义。
弹
出
对
话
框
图 10 VI 的属性——窗口外观
窗口大小-自定义 VI 运行时窗口的大小。
窗口运行时位置-自定义 VI 运行时窗口的位置和大小。
注:请参考 LabVIEW 帮助文档设置 VI 窗口的大小和运行时位置。
子 VI 对话框弹出设置
对话框的特点是在需要的时候弹出,用户确认后自动关闭。在主 VI 中,设置子 VI 的属
性,即可实现上述功能。主 VI 程序框图>>右键子 VI 图标>>选择设置子 VI 节点,将弹出
如图 11 所示对话框。选择调用时显示前面板和运行后关闭,从而实现子 VI 只有在被主 VI
调用时,才会打开它的前面板,用户确认后自动关闭的对话框样式。
图 11 子 VI 节点设置
注:将子 VI 作为弹出对话框使用时,运行主 VI 前,必须关闭子 VI 的前面板。VI 属性中
若设置了窗口外观为对话框,则已包含了“调用时显示前面板”和“运行后关闭”的设置
(单击自定义按钮可以查看窗口外观为对话框时的相应设置),子 VI 节点的设置可以略
去。
5
LabVIEW 初级教程
例如,使用子 VI(图 12),同样实现了 LabVIEW 对话框的功能,但由于其可以自由设置
按键和输入控件的个数、位置、形状,以及设置弹出窗口的背景、字体,因此,可以实现
更为复杂的功能,界面也更灵活多样。
弹
出
对
话
框
图 12 子 VI 对话框(二)
练习 1 使用上述三种对话框 VI 为程序 LabVIEW对话框ex.vi添加对话框。
- 打开 LabVIEW 对话框 ex.vi 的程序框图。
- 在 Initialize 状态框图内,添加双按钮对话框,对话框的输入是:是否迚入 LED 闪
烁流程?并将对话框的输出连接到“选择”的条件判断端。
- 在 blink 状态框图内,添加三按钮对话框,三个按钮的输入文字分别是:只有绿灯
闪烁、只有红灯闪烁、绿灯红灯交替闪烁;并将对话框的输出连接到条件结构的选
择器接线端。
- 在 stop 状态框图内,添加单按钮对话框,对话框的输入是:用户停止了程序。
练习 2
- 在弹出窗口Express ex.vi中,使用提示用户输入 Express VI 实现如 7 所示的功
能,并通过显示控件将用户输入的参数显示在弹出窗口 Express ex.vi 的前面板
上。
练习 3 为已有子 VI 设置窗口样式和弹出属性。
- 子VI main ex.vi中调用了子VI sub ex.vi、VI sub1 ex.vi和 VI sub2 ex.vi这 3 个子
VI。
- 分别将这 3 个子 VI 的窗口样式设为“对话框”,并为 3 个 VI 设置合适的窗口标
题。
- 将 3 个 VI 的显示效果设置为调用时打开,运行结束后停止的效果。
6