写在前面本文是一些关于IDL界面编程的自学总结,包括一些问题和基础语法的介绍,具体参考董彦卿老师的《IDL程序设计–数据可视化与ENVI二次开发》以及徐永明老师的《遥感二次开发语言IDL》,徐永明老师的书里主要介绍一些基础语法,和IDL遥感应用实例,董彦卿老师的书内容较多,适合作为帮助文档查看。

首先是一些常见问题

很多时候IDL需要和ENVI联动,如果没有打开ENVI或者中途关掉了ENVI可能会出现一个WIDGET_BASE: Invalid widget identifier: 19的错误,这一点需要格外注意,以及,在调试过程中,如果出现问题后点击停止调试,那么ENVI也会被关掉,再运行时需要重启ENVI。

常用组件

(1)Base 组件:
Result=WIDGET_BASE([PARENT][,/KEYWORDS])
Base是其他所有组件的基础,需要首先创建,参数包括Floating:创建浮动窗口;Model:创建模式框窗口;mbar:创建菜单栏(初始界面创建常用);TLB_FRAME_ATTR:创建不同类型窗口;TLB_KILL_REQUEST_EVENTS:控制关闭相应事件
具体参数调用可以查看Harris帮助文档,
eg:

 tlb = WIDGET_BASE(title = '标题',     $mbar = mbar,                              $uname = 'tlb',                            $/tlb_kill_request_events,                 $/tlb_size_events,                         $/column,                                  $map = 0,                                  $   ;隐藏event_pro = 'tlb_event')

(2) 按钮组件
Result=WIDGET_BUTTON([PARENT][,/KEYWORD])
参数包括value:不同类型的显示方式,一般使用字符串显示;Menu:创建菜单按钮;Separator:菜单之间的分割线;复选或单选:由按钮父组件WIDGET_BASE中EXCLUSIVE和NONEEXCLUSIVE控制

  w_stat=WIDGET_BUTTON(mbar,/menu,value='统计信息');此处接上文代码,上文创建了base(包含mbar菜单栏)此处接着mbar创建子菜单buttonw_Stat1=WIDGET_BUTTON(w_stat,value='波段统计信息',event_pro='stata');event_pro为点击按钮触发的事件

(3)标签组件Label
Result=WIDGET_LABEL([parent][,/keyword])
参数包括value:组件上显示的字符串,换行显示用string(13b)分隔,Frame为字符串外围边框宽度,为0则不显示。

wlabelR1 = WIDGET_LABEL(wpmBase, value = 'Rule 1:   ',/align_left)
;这里写了个对齐方式

持续更新。。。。。

IDL图形化界面设计自学总结相关推荐

  1. Java图形化界面设计——容器(JFrame)

    Java图形化界面设计--容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构 ...

  2. 零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)

    1.图形化界面设计的基本理解 当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI). 即通过鼠标对菜单.按钮等图形化元素触发指令,并从标签.对话框 ...

  3. 图形化界面设计软件简要介绍

    图形化界面设计软件简要介绍 [摘要]:面向使用者的系统工程设计,其目的是要准确.快速地在设计者和使用者之间传递信息和实现功能,也是优化产品性能来适应大众的操作能力,减轻使用者的认知负担.成功的系统工程 ...

  4. Python 图形化界面设计

    1.图形化界面设计的基本理解 当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI),即通过鼠标对菜单.按钮等图形化元素触发指令,并从标签.对话框等 ...

  5. java 网格布局管理器,Java图形化界面设计——布局管理器之GridLayout(网格布局)...

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

  6. Python-Tkinter图形化界面设计(详细教程 )

    原文链接:https://www.jianshu.com/p/91844c5bca78 声明:本篇文章为转载自https://www.jianshu.com/p/91844c5bca78,在原作者的基 ...

  7. Python + Tkinter 图形化界面设计1 —— 第一个图形化界面

    图形化界面设计的基本理解 Python自带了tkinter 模块,实质上是一种流行的面向对象的GUI工具包 TK 的Python编程接口,提供了快速便利地创建GUI应用程序的方法.其图像化编程的基本步 ...

  8. Python-Tkinter图形化界面设计

    综合了以下的文章: 转载自:https://www.cnblogs.com/shwee/p/9427975.html 转载自:https://www.jianshu.com/p/91844c5bca7 ...

  9. Python中Tkinter 图形化界面设计(详细教程)

    Python-Tkinter 图形化界面设计(详细教程) 一.图形化界面设计的基本理解 二. 窗体控件布局 2.1 根窗体呈现示例 2.2 tkinter 常用控件 2.2.1常用控件 2.2.2 控 ...

最新文章

  1. ftp服务器账户密码修改,ftp服务器如何设置账户密码
  2. Node.js小白开路(一)-- fs篇
  3. 判断tvs能抗住多少千伏浪涌的依据_TVS浪涌保护介绍
  4. 欧拉角死锁_刚体运动学最通俗易懂的理解万向节死锁
  5. 使用 Daynamic 动态添加属性
  6. 判断随机抽取代码_问卷调查:定量研究中的抽样问题(2)- 非随机抽样介绍
  7. 都啥年代了,求你别再说Redis是单线程了!
  8. ifix组态软件研究控制按钮权限
  9. 中文繁简互换以及获取中文字符串首字母
  10. 教你如何发布自己的网站
  11. 开发APP、微信小程序、网页,都需要什么?
  12. onedrive教育版登录不上
  13. shell中设置IFS,使用自定义分割符
  14. 单商户商城系统功能拆解38—分销应用—分销订单
  15. vc项目开发:俄罗斯方块制作日志 [上]
  16. CentOS8—ssh免密登录
  17. Vue elementUI-select多选下拉框数据回显成功后,点击下拉选项或删除回显数据无反应...
  18. 【Java】时差问题,格林威治时间(GMT)与北京时间转换
  19. Unity Shader - Billboard 广告板/广告牌 - BB树,BB投影
  20. 数据加工:Sql截取之间的字符串的方法

热门文章

  1. TortoiseSVN (Subversion客户端) 使用手册(中文) (四)
  2. 中润光学在科创板IPO过会:拟募资4亿元,张平华为实际控制人
  3. VS2012错误之:warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/SAFESEH”规范)
  4. The authenticity of host ‘‘ can‘t be established.
  5. Linux服务器升级GLIBC失败导致shell不可用的问题解决经历
  6. 大学计算机基础信息编码,大学计算机基础-编码.ppt
  7. ROS1中rosbridge使用rosauth认证连接
  8. 新浪微博客户端源代码-新浪微博OAuth2.0接口
  9. Fido无密码认证示例部署运行
  10. 【Linux】Linux权限(一)文件权限和目录权限