前言

写了多年的LabVIEW程序,你是否面临这样的问题

总是在做一些重复的工作,感觉很没有意思;
总在不停的写代码,做类似的控件,实现相同的功能,丝毫没有成就感;
总在天加班,没有时间去提高自己;

你也知道简单的重复并不能带来效率的提高,却不知道走向何方,无奈而又焦急着?

小黑今天带你聊一聊LabVIEW吸星大法,让你在工作中越来越有效率,体会一切皆可掌控的妙感~

记住,我们的口号是 : 告别重复造车,你的就是我的,万物皆为我所用~

正文

学习LabVIEW是在初期是一个很吸引人的事情,它让你在极其短暂的时间内既能熟悉软件,也可以了解硬件。较短的学习周期,快速的培养人手,无论是作为学生还是项目型的公司,它都是快速产生价值的一个选择。

然而,像传统武学一样,凡是入门快的功夫都很难提高。过于花哨的招式脱离了稳扎稳打的内功,只能沦为高不成低不就的工具。

LabVIEW使用者通过一个月左右的学习就能介入小项目,却在一到两年左右的时候就会陷入瓶颈,如果没有看到更远的方向,将很长时间内停留于某一阶段。

今天小黑带你开一扇们,让你在迷茫期可以迅速的积淀自己的实力,等到机会来的时候,可以快速的实现自己的目标。

不废话啦,今天给大家讲解的就是UI Control的个性化自定义,兼容并济,吸收各家所长。

什么是UI Control的个性化

一个软件极致便是高度的自定义化,LabVIEW对自定义的支持使得其成为了一个平台,吸收着各个厂商为其定义的软硬件驱动。而作为一个程序员,如果不能利用其高度可定义的环境,其编程将会不停的沦为重复造车的过程。

使用UI Control的个性化,将你欣赏的,喜欢的控件,全部集成到LabVIEW去。每个人都将有一套属于自己的设计库,这个设计库是个人经验+工作经验的集合,能让在遇到复用情境时,可以快速的使用原有积累,避免重复造车。

UI Control的个性化到什么程度

为了让大家了解到UI Control的个性化程序,小黑将自己的控件选板贴图如下。该选板名称为Elton Ctrl(其中Elton是小黑的英文名字,所以这个选板就是小黑专属选板~),其设计思想包括以下几点:

1. 该选板以系统控件为基准,便于在不同的操作系统中建立统一控件风格,即所有设计的软件统一风格,保持团队或者个人风格的一致


2. 该选板在系统控件的基础上,增加自定义内容,增强系统控件功能,其中浅绿色部分是我的控件修改部分,实现了功能增强

3. 该选板集成Quick Drop控件群,可以实现相似控件一键放置,并集成UI Suite,对整体布局控件批量放置
 4. 该选板集成额外的控件,在遇到好的控件时,都可以快速添加到自己的选板中

如何添加属于自己的控件

接下来,我进一步讲解其设计过程,如果你有心,也可以建立属于自己的控件库,吸收各家所长,实现下图所示的控件群。

  • 吸星大法之素材搜集

如果你找不到好看的控件,天天看到的都是LabVIEW自带控件,那么基本上告别自定义的开始。控件的自定义收集主要来源于三点:
1. 从别人的程序中吸收,尤其是UI界面做的漂亮的程序

如果学习LabVIEW程序设计有一定时间,那你一定收集了不少程序,把别人程序中好看的控件保存下来吧,将来总会用的上。关于如何制定控件,如何收集等基础内容就不再这里赘述了,大家可以自行百度。

2. 找到现成的控件包,拷贝到自己的目录下,将他人的内容内化为自己的
现成的控件包也比较容易获得,主要来源于VIPM和NI相关的论坛上,比如下图所示的就是VIPM中的控件

 或者从NI Community中直接搜索,里面也有不少控件下载包
 

3. 从专业的Icon网站上下载素材,可以搜集一些常用的素材下载网站,用于快速设计相同风格的控件
这里推荐 easyicon ,免费的,非常好用

  • 吸星大法之素材整理

本文为了考虑到初学者,将控件放置于用户收藏目录下,待后续高级教程讲解如何进行高级自定义。
搜集到的控件放在哪里呢? 如果不对控件的素材整理,收集到的东西基本上不会打开第二次,这里推荐大家在刚开始搜集的时候,将控件放置于user.lib下
当控件放置于该目录下后,重启LabVIEW,将自动识别放置的控件
为了保证收集有效,注意分门别类放置,规划好自己的控件目录层级
 设计好看的图标,一个漂亮的图标可以让你更愿意使用自己搜集的控件。在Tools-->Advance--->Edit Palette Setting中,可以配置文件夹的图标
如下图所示即可编辑图标选板

后记

LabVIEW吸星大法,将你喜欢的控件全部做成自己的,悉心整理归档,你将有丰富的软件积累,不必每一次都重走前人之路。

控件设计还有很多很多的注意项,这里我只是抛砖引玉,让大家植入复用的概念,建立属于自己的知识宝库,为后续的文章做一些铺垫。

如果本文对你有收获或有所感触,真心希望你能真正去尝试尝试,体会一下积累的价值,告别盲目的加班,学习成长之路,互帮互助~

术业有专攻,闻道有先后,在知识大门前,我们可以略窥一二,却不知天外有天,人外有人。保持一颗谦逊的心,专注于技术的提高,精益求精~
 
-----谨以此文献给落入LabVIEW坑却仍不放弃的各位,我们不是专业的软件工程师,却有一颗上进的心。
 
 
 
 
 




LabVIEW 吸星大法 - 看见的好东西都是我的(上篇)的更多相关文章

  1. LabVIEW 吸星大法 - 看见的好东西都是我的(下篇)

    前言 写了多年的LabVIEW程序,你是否面临这样的问题 总是在做一些重复的工作,感觉很没有意思: 总在不停的写代码,做类似的控件,实现相同的功能,丝毫没有成就感: 总在天加班,没有时间去提高自己; ...

  2. LabVIEW 吸星大法 - 看见的好东西都是我的(中篇)

    前言 写了多年的LabVIEW程序,你是否面临这样的问题 总是在做一些重复的工作,感觉很没有意思: 总在不停的写代码,做类似的控件,实现相同的功能,丝毫没有成就感: 总在天加班,没有时间去提高自己; ...

  3. 低耦合高内聚 - 不要把所有东西都放在 vuex中

    我就举一个例子.比如,我想看电视,是否需要遥控器??请认真思考这个问题. 看似电视与“我”已经解耦了.然而,我需要通过遥控器去看电视,我的目的是看电视,但是我却需要依赖遥控器这个中间件.这就变相地将“ ...

  4. 从Hello World说起(Dart)到“几乎所有东西都是Widget”小部件。

    import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends S ...

  5. 用LabVIEW实现《家国梦》游戏中自动收货收金币

    前几周,很流行一个手机游戏,叫<家国梦>.我在手机上玩了一两天后,发现了两个问题: 1. 收货收金币太没意思,只需要手指滑在固定的路线,一会儿就烦了 2. 怎么追赶也追不上手快的人(当然也 ...

  6. 关于Unicode,字符集,字符编码,每个程序员都应该知道的事

    关于Unicode,字符集,字符编码,每个程序员都应该知道的事 作者:Jack47 李笑来的文章如何判断一个人是否聪明?中提到: 必要.清晰.且准确的概念,是一切思考的基石.所谓思考,很大程度上,就是 ...

  7. 重置了下系统好多关于mysql密码的文章都很渣拷分好的备用

    方法1: 用SET PASSWORD命令 mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass ...

  8. 输入URL之后都发生了什么

    输入URL之后都发生了什么 这个标题印象中已经有很多讨论了.也来说说这个话题. 从头开始,当你的电脑使用网线连接到网络的时候,我们都知道,这个时候你的电脑会获取一个IP,这个IP就是你的唯一标识了.好 ...

  9. LabVIEW有限状态机

    顺序模式是我们最先接触,也是最基本的一种编程模式, 程序按照固定的顺序依次执行,结束(如图1) 但在很多情况下,静态的顺序模式并不能满足我们编程的要求,我们需要更有效地动态结构来实时改变程序的执行顺序 ...

随机推荐

  1. Reverse Core 第三部分 - 21章 - Windows消息钩取

    @author: dlive @date: 2016/12/19 0x01 SetWindowsHookEx() HHOOK SetWindowsHookEx( int idHook, //hook ...

  2. linux vim 插入行号

    1 在文本中插入行号 最近有朋友提到某编辑器有一个可以插入行号的插件,问Vim有没有办法可以在文章中插入行号.%$^&*#8~#$@#!--让我们看一下有多少种方式可以在vim中插入行号或数字 ...

  3. [Android Pro] Android开发实践:自定义ViewGroup的onLayout()分析

    reference to : http://www.linuxidc.com/Linux/2014-12/110165.htm 前一篇文章主要讲了自定义View为什么要重载onMeasure()方法( ...

  4. 用极简方式实现新浪新版本特性展示效果--view的图片轮播

    在发布版本的时候,大多数软件会在第一次使用新版本时候弹出视图用几张图片给用户做一个新版本特性介绍,最简单如下图新浪的版本特性介绍 由于图片是全屏展示且是左右滑动,大多数情况开发者会选择使用scroll ...

  5. 3.1 AngularJS必备知识

    AngularJS是一个WEB应用框架. 本节我们会学习控制器(控制数据),会学习作用域(连接控制器和用户界面),用户界面又叫做视图,通过模板和作用域来创建交互视觉效果.另外,我们还会学习其他的特性比 ...

  6. Ubuntu(Linux系统)虚拟机工具vmtools详细说明

    安装虚拟机工具vmtools大概步骤如下: 个人总结步骤: 第一步:点击虚拟机软件的vm工具栏选项,选择install vmware tools(安装VMware Tools) 第二步:桌面会出现一个 ...

  7. 7 Container With Most Water_Leetcode

    Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...

  8. 【vuejs小项目】一、脚手架搭建工作

    一.关于vuejs 这是一个MVVM的前端开发框架,model(数据).viewmode(通讯).view(视图),它吸取了reactjs和angularjs的长处,核心重点在于组件化的设计原则. 我 ...

  9. mysql优化笔记之分页

    过年闲得蛋疼,于是看看mysql优化,看了网上好多关于分页的优化方法,但是呢,我亲自试上一把的时候,没有出现他们说的现象...难道是我的机器问题么? 下面看看我的实践记录,希望看到的加入进来交流一下O ...

  10. SQLSERVER JDBC 存储过程调用偶尔很慢的原因之一【sp_sproc_columns】

    在对于CallableStatement进行参数赋值或者取值时,建议直接用索引号,避免使用参数名称! 若使用参数名称,每次调用该存储过程时,jdbc会自动执行 exec sp_sproc_column ...