gui界面设计心得体会 python_关于GUI的一点心得体会

本文探讨了MATLAB GUI界面的设计问题,包括版本兼容性挑战、GUI的优点,如集中功能模块、便于交互,以及管理维护的复杂性。介绍了参数传递的几种方法,并建议初学者参考相关教程和论坛资源进行学习。
摘要由CSDN通过智能技术生成

[Fig

文件方式,即使用菜单

File->New->GUI

来设计界面

]

首先值得注意的是,

在低版本

matlab

制作的含

GUI

m

文件一般不能在高版

本的

matlab

上面运行,但是从

7.0

版开始改进了一点,我试过

6.5

版的含

GUI

m

文件可以在

7.0

版上运行,但如果在

7.0

版上面修改过

.fig

文件,那么就

不能回到

6.5

版上运行了

(显示一堆错误,

我没看懂,

不知道能否通过修改使之

重新可在

6.5

版上运行,呵呵),而在

7.0

版上制作的含

GUI

m

文件就完全

不能放到

6.5

版上运行了

(也是同样的错误)

这可能是因为

matlab

各版本在

GUI

上改动较大,

所以都不支持向下兼容。

也许兼容性差是使用

GUI

编写程序的最大

麻烦。

其次,说说使用

GUI

的好处。不知道是否承袭了

VC

or

BCB

的习惯,我比较喜欢

编写完程序后按快捷键运行(此时会自动保存

m

文件),但是,对于程序有输入

参数的

时候,如果不采用

GUI

方式,这显然是行不通的――当然了,可以在

command window

按“向上”键然后重新改写你想要的参数。对于一些较大型的

程序,正因为我比较偏向于按

F5

运行程序,所以我会选择使用

GUI

方式。不过

GUI

方式的好处就远不止于此了,

它可以把几个功能相关的模块集中起来,

使得

不需要重新关闭、运行就能得到不同的结果,便于比较;可以减少

figure

满天

飞的现象,这在

matlab

中尤为明显;便于交互式地观看不同的数据,例如在我

处理的

fMRI

问题中,希望观看每个三维点对应的时间序列,这时候需要提供交

互式的选择„„不过,

尽管

GUI

有很多好处,

但是其缺点也是有的,

除了上面提

到的兼容性(移植性)以外,要管理、维护一个

GUI

界面也是比较麻烦的,相信

有其他语言的界面设计经验的朋友也知道这点。

者,对

GUI

问题,说说我的一点经验吧。其实,

matlab

已经在这方面改进了

不少,从控件的增加和教程的学习都可以看出来。例如

6.5

版本是没有

Panel

Button Group

这两个控件的,在

2006a

版本中就新增了这两个控件(这个好

7.0

版就有了,不确定);教程方面,也使用了最为直观的视频教学方式,建

议新手看看

Creating

a

GUI

with

GUIDE

Creating

Graphical

User

Interfaces

两节。所以,操作上的细节我就不多讲了,自己摸索一下就

ok

了。至于编程时

最为关键的参数传递问题,

可以参考本论坛或者仿真论坛上面的“函数结构与参

数传递”一文,作者整理得较完整,不过有点难懂。这里我简单说一下吧:

[

cwit]

关于参数传递的方法:

1.

在内存中提取:① 采用

function

varargin

varargout

传送,② 存在

handle

ApplicationData

中,③保存在

handles

里面。当然还有其他方法;

2.

存在硬盘上,采用

save

load

3.

用全局变量,最次的办法,有时却是最好的办法;

我想,对于这里处理的

GUI

问题,一般不会用到

save

load

命令(要

mat

文件读取数据初始化或者把数据存储到

mat

文件中例外),“function

varargin

varargout

传送”的方法也不较少使用

(

因为对于控件的回调函数,

matlab

规定了输入参数为“hObject, eventdata, handles, varargin”,且一

般没有返回值,所以不同于自定义的函数),所以剩下的方法就只有三种了:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值