- 积分
- 3638
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2020-7-8 11:07:35
|
显示全部楼层
IDL_GUI源代码:
pro IDL_GUI
;主界面大小与题目:
BaseID = WIDGET_BASE(xsize=600,ysize=500,$
title='IDL环境分析软件 软件作者:WHA,15951653725',$
/TLB_RESIZE_NODRAW,mbar=bar)
;显示GUI:
;可以最后再显示界面,不然各个组件显示会有先后
WIDGET_CONTROL, BaseID, /REALIZE
;左上角下拉菜单的内容,加/menu关键字表示还有下一级,不加无法加载下一级
menu = WIDGET_BUTTON(bar, VALUE='参量',/MENU,/frame)
option1=WIDGET_BUTTON(menu, VALUE='颗粒物')
option2=WIDGET_BUTTON(menu, VALUE='SO2')
option3=WIDGET_BUTTON(menu, VALUE='O3',/MENU)
option31=widget_button(option3,value='NOX')
option32=widget_button(option3,value='VOCs',/separator)
option33=widget_button(option3,value='气温',/separator)
;顶层组件窗口名在title中设置,子组件显示名在value中设置
;按钮位置用[xy]offset设置
;tooltip即悬浮提示
button1=widget_button(BASEID,xsize=120,ysize=30,value='预处理',$
xoffset=450,yoffset=25,tooltip='数据预处理计算按钮')
button2=widget_button(BASEID,xsize=120,ysize=30,value='地图',$
xoffset=450,yoffset=75,tooltip='打开静态地图')
button3=widget_button(BASEID,xsize=120,ysize=30,$
value='PM',xoffset=450,yoffset=125,tooltip='计算颗粒物突出时段')
button4=widget_button(BASEID,xsize=120,ysize=30,value='O3',$
xoffset=450,yoffset=175,tooltip='计算O3归一化日变化')
button5=widget_button(BASEID,xsize=120,ysize=30,value='VOCs',$
xoffset=450,yoffset=225,tooltip='VOCs臭氧生成潜势')
;新建widget_window(快速可视化的窗口)
wDraw = WIDGET_WINDOW(BaseID, XSIZE=400, YSIZE=400,$
/button_events,$;单击产生事件
/frame,$;给图加个框
xoffset=20,yoffset=30)
WIDGET_CONTROL, wDraw, GET_VALUE=oWin
oWin.Select
;画图数据:
n = 100
seed = -121147L
x = 2*RANDOMU(seed, n)
y = RANDOMU(seed, n)
z = 100*(EXP(-((4*x-2)^2 + (7-9*y)^2)/4) + $
EXP(-((4*x+1)^2)/49 - (1-0.9*y)) + $
EXP(-((4*x-7)^2 + (6-9*y)^2)/4) - $
EXP(-(4*x-4)^2 - (2-9*y)^2))
;克里金插值:
result = KRIG2D(z, x, y, EXPONENTIAL=[0.5,0.2,1], $
NX=100, NY=100, XOUT=xout, YOUT=yout)
;读取预存地图:
fig=image('.\map.png',position=[0,0,1,1],/OVERPLOT)
;在地图上叠加等值线图:
fig= CONTOUR(result,position=[0,0,1,1],axis_style=0,$
/fill,transparency=50, $
rgb_Table=33,/current);要有/current
;5个按钮关联事件:
xmanager,'GUI',button1,EVENT_HANDLER='button1_pro',/no_block
xmanager,'GUI',button2,EVENT_HANDLER='button2_pro',/no_block
xmanager,'GUI',button3,EVENT_HANDLER='button3_pro',/no_block
xmanager,'GUI',button4,EVENT_HANDLER='button4_pro',/no_block
xmanager,'GUI',button5,EVENT_HANDLER='button5_pro',/no_block
;菜单关联事件:
xmanager,'GUI',option1,EVENT_HANDLER='option'
xmanager,'GUI',option2,EVENT_HANDLER='option'
xmanager,'GUI',option33,EVENT_HANDLER='option'
xmanager,'GUI',option31,EVENT_HANDLER='option'
xmanager,'GUI',option32,EVENT_HANDLER='option'
xmanager,'GUI',option33,EVENT_HANDLER='option'
end
;事件函数:
pro option,event
tip=dialog_message(title='提示','该功能尚未开发!')
end
pro button1_pro,event
tip=dialog_message(title='提示','预处理计算已完成,耗时:00:08:56')
end
pro button2_pro,event
spawn,'.\map.png'
end
pro button3_pro,event
tip=dialog_message(title='提示','颗粒物在高峰出现在6月17日上午09:00')
end
pro button4_pro,event
tip=dialog_message(title='提示','O3在每天14:00较高')
end
pro button5_pro,event
tip=dialog_message(title='提示','2019年08月06日VOCs日均浓度为56.40μg/m3,对测试所得的VOCs物种进行臭氧生成潜势(OFP)分析,前10种物质及其对OFP的贡献率分别是:反-2-丁烯21.01%,1-丁烯15.11%,顺-2-丁烯12.59%,1-戊烯7.75%,异戊二烯6.59%,甲苯5.35%,1,2,4-三甲苯2.33%,邻二甲苯2.19%,异戊烷2.15%,正丁烷2.03%,总OFP为41.84μg/m3,前10种物质共计占总OFP的77.12%。')
end
|
|