推荐一个做上位机的软件

[复制链接]
1545|7
 楼主| dongnanxibei 发表于 2020-1-24 15:57 | 显示全部楼层 |阅读模式
980495e2aa2d531776.png
通过“Project from Template”创建一个CVIHelloWorld的项目后,界面如下:
308315e2aa2f7e75cc.png
右键拖放两个Command button和一个string 控件,定义各自的回调函数名。
773745e2aa30c750e4.png
点击菜单:code——generate——All code... 生成代码。

在回调函数 int CVICALLBACK btnHello中的 case EVENT_COMMIT后面插入语句:

SetCtrlVal (panelHandle, PANEL_STRING, "Hello CVI 2019");

使用软件用户接口库插入画面如下:
422965e2aa3258b9e7.png

再增加一句弹窗提示:MessagePopup("CVI 2019", "Hello World!");
970705e2aa338d9224.png
编译运行,看到如下效果。
579905e2aa34cd6b63.png


评论

确实是一个很好的软件。国内会越来越多的人使用  发表于 2023-12-11 19:58
这款软件上手容易,只要你有点C基础就行。  发表于 2020-9-19 20:35
 楼主| dongnanxibei 发表于 2020-1-24 15:57 | 显示全部楼层
  1. #include <cvirte.h>
  2. #include <userint.h>
  3. #include "CVIHelloWord.h"
  4. static int panelHandle;

  5. int main (int argc, char *argv[])
  6. {
  7.   if (InitCVIRTE (0, argv, 0) == 0)
  8.     return -1; /* out of memory */
  9.   if ((panelHandle = LoadPanel (0, "CVIHelloWord.uir", PANEL)) < 0)
  10.     return -1;
  11.   DisplayPanel (panelHandle);
  12.   RunUserInterface ();
  13.   DiscardPanel (panelHandle);
  14.   return 0;
  15. }

  16. int CVICALLBACK panelCB (int panel, int event, void *callbackData,int eventData1, int eventData2)
  17. {
  18.   switch (event)
  19.   {
  20.     case EVENT_GOT_FOCUS:
  21.       break;
  22.     case EVENT_LOST_FOCUS:
  23.       break;
  24.     case EVENT_CLOSE:
  25.       break;
  26.   }
  27.   return 0;
  28. }

  29. int CVICALLBACK strHello (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
  30. {
  31.   switch (event)
  32.   {
  33.     case EVENT_COMMIT:
  34.       break;
  35.   }
  36.   return 0;
  37. }

  38. int CVICALLBACK btnHello (int panel, int control, int event,  void *callbackData, int eventData1, int eventData2)
  39. {
  40.   switch (event)
  41.   {
  42.     case EVENT_COMMIT:
  43.       //把string控件内容设置为“Hello CVI 2019”
  44.       SetCtrlVal (panelHandle, PANEL_STRING, "Hello CVI 2019");
  45.       //弹出提示框
  46.       MessagePopup("CVI 2019", "Hello World!");
  47.       break;
  48.   }
  49.   return 0;
  50. }

  51. int CVICALLBACK btnExit (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)
  52. {
  53.   switch (event)
  54.   {
  55.     case EVENT_COMMIT:
  56.       //退出程序
  57.       QuitUserInterface (0);
  58.       break;
  59.   }
  60.   return 0;
  61. }
天灵灵地灵灵 发表于 2020-1-26 17:27 | 显示全部楼层
LabWindows/CVI 将功能强大、使用灵活的C 语言平台与用于数据采集分析和显示的测控专业工具有机地结合起来,利用它的集成化开发环境、交互式编程方法、函数面板和丰富的库函数大大增强了C 语言的功能,为熟悉C 语言的开发设计人员编写检测系统、自动测试环境、数据采集系统、过程监控系统等应用软件提供了一个理想的软件开发环境。
gaoyang9992006 发表于 2020-1-30 13:23 | 显示全部楼层
MATLAB也有这种功能,不过开发的软件依赖环境文件太大了,不科学。如果在Windows上用最好还是QT或者MFC
airwill 发表于 2020-1-31 16:03 | 显示全部楼层
gaoyang9992006 发表于 2020-1-30 13:23
MATLAB也有这种功能,不过开发的软件依赖环境文件太大了,不科学。如果在Windows上用最好还是QT或者MFC ...

嗯,  matlab 的支持库太大了,  QT 也有不少,  MFC 确实很少, 只是效率低了些.
不知道这 LabWindows 怎么样
gaoyang9992006 发表于 2020-1-31 17:38 | 显示全部楼层
airwill 发表于 2020-1-31 16:03
嗯,  matlab 的支持库太大了,  QT 也有不少,  MFC 确实很少, 只是效率低了些.
不知道这 LabWindows 怎么 ...

QT的支持库需要几十M,解压后。压缩后也15M。
这个还没试过,看了介绍,很容易的样子,不知道生成的打包软件多大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

3848

帖子

18

粉丝
快速回复 在线客服 返回列表 返回顶部