石鑫华视觉论坛

 找回密码
 注册会员
查看: 2999|回复: 2

[原创] LabVIEW大量控件重复属性操作的一种优化解决方法

[复制链接]
  • TA的每日心情
    擦汗
    9 小时前
  • 签到天数: 3382 天

    连续签到: 4 天

    [LV.Master]2000FPS

    发表于 2021-10-20 14:53:38 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    LabVIEW大量控件重复属性操作的一种优化解决方法
    LabVIEW编程,在一些小项目中,确实是挺快的。拖拉几条线,啪啪啪放几个控件,一个WHILE循环就搞定了。但是,如果程序大了,控件多了,然后又要各种特效,什么控件要显示,什么控件不要显示,要赋值,范围内的显示绿色,范围外的显示红色。几百几千个控件。。。。那就郁闷了,因为你会发现,做的事,都是重复的,对每一个控件的属性进行操作。把什么可见属性、颜色属性调出来,然后根据条件赋值。。。做一两个很好处理,弄个十个八个也可以接受。要弄几百个,那不得疯掉?

    那有什么快速的方法吗?当然还是有的。可以考虑使用一个簇。将功能统一的控件,都放到簇内。例如说,有几百个布尔控件。用来显示是否合格。那就可以把这些布尔显示控件全放到簇中,然后簇的属性>控件[],就可以得到簇中所有控件的引用。之后再使用FOR循环,对控件引用数组进行操作,如赋值、判断、显示等,就可以在FOR循环中,对簇中所有控件进行操作了。这样就不用每个控件都去手动处理,效率提升100000%。当然,如果都是一样的,也可以用数组,不过数组限制比较大,不能有不同的类型,也不能对每个元素处理标签,更不能分散排布。还是建议使用簇,用簇的话,自动调整大小设置为无或调整为匹配大小,不要设置为水平排列或垂直排列。这样就可以根据自己的需要,将不同的控件放到界面的不同位置进行显示,然后将其它非簇内的控件,移到簇控件的上层(控件是可以控制层关系的)。

    QQ截图20211020145232.png
    一个演示示例
    簇中包含了4个布尔量
    大量控件操作.vi (11.73 KB, 下载次数: 18)
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-12-23 19:35
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]100FPS

    发表于 2022-12-23 19:43:09 | 显示全部楼层 来自:河北省廊坊市 电信
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2023-7-29 15:36
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]200FPS

    发表于 2023-6-13 16:13:52 | 显示全部楼层 来自:江苏省南京市 电信
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(第二版)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-11-20 17:12

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表