爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2429|回复: 0

[混合编程] IDL编程学习之复合界面案例

[复制链接]

新浪微博达人勋

发表于 2018-9-3 17:15:16 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
以下代码做了一个多组件界面,
但是单击、滚轮、关闭等响应程序没有写,
这些程序会续在后面的楼层
TIM截图20180903165802.jpg
pro widget_examlples
;用中文会出现乱码,但书中就没有,不知问题在哪!?
;创建base,column表示按行排列
base1=widget_base(title='examples',mbar=mbar,uname='tlb',$
  /column,$
  ;重设置大小时产生事件
  /tlb_size_events,$
  ;关闭时产生事件
  /tlb_kill_request_events)
  ;------------------------
  ;创建系统菜单,/separator表示分割线
  wfile=widget_button(mbar,value='file(&F)')
  wopen=widget_button(wfile,value='open(&O)')
  wexit=widget_button(wfile,value='exit(&E)',/separator)
  
  ;创建一个按钮
  base2=widget_base(base1,/row)
  label1=widget_label(base2,value='current issue')
  text1=widget_text(base2,xsize=10)
  button=widget_button(base2,value='button',uname='button')
  mydraw=widget_draw(base1,retain=1,xsize=400,ysize=400,$
    ;滚轮产生事件
    /wheel_events,$
      ;单击产生事件
    /button_events,$
    ;前置时产生事件
    /expose_events,$
    ;鼠标移动产生事件
    /motion_events,$
    ;敲键盘产生事件
    /keyboard_events,$
      uname='mydraw')
  ;显示界面
  widget_control,base1,/realize
  ;创建右键菜单
  contextbase=widget_base(mydraw,/context_menu)
  ;创建菜单选项
  button1=widget_button(contextbase,value='menu1',uname='contextbutton1')
  button2=widget_button(contextbase,value='menu2',uname='contextbutton2')
  ;下面画个图
  ;获取系统初始化颜色模式
  device,get_decomposed=orid
  ;显示伪彩色图像
  device,decomposed=0
  ;载入色条
  loadct,23
  ;显示图形
  imgdata=dist(400)
  tvscl,imgdata
end
界面中图是直接图形法做的,用了widget_draw,如果把画图部分替换为:
contour,dist(400),/fill,则
TIM截图20180903171413.jpg
直接图形法绘图都会自动出现在组件中,
而快速可视化和智能化编程只会另行弹窗,
widget_draw看来只支持直接图形法

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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