wuyuan 发表于 2010-10-21 23:29:30

MATLAB中GUI中的bug

各位,编写好的GUI在有时打开时会丢失某些控件,这是为什么啊?怎么解决呢?

bainhome 发表于 2010-10-22 00:28:24

MATLAB并不完美,不少缺陷很多时候让我们十分苦恼甚至抓狂。
不过在没有真正确定是MATLAB的bug还是人脑有bug之前,与其让很多人在屏幕前看这种“空灵飘逸”、不着边际的主题,渗人地冷笑,倒不如把具体问题拿出来,大家一起进行切实的探讨,这样也许更有可操作的实际意义。

wuyuan 发表于 2010-10-29 11:21:26

大哥,请问你用过GUI吗? 2# bainhome

bainhome 发表于 2010-10-29 11:46:40

亮点!我没猜错!果然是亮点!
MATLAB有救了!GUI有救了!
幸亏不多,要是再多几个楼主这样的,世界该是多美妙!

lin2009 发表于 2010-10-29 12:12:11

版上的“务虚”问题逐渐增多,还有出现了一些类似布置家庭作业式的帖子,这是一个不好的现象。
版主要加强这方面的管理。
另外,一些属于“初级”问题,如程序中的书写格式,标点符号(误写成全角符号),数组操作符(点乘,点除)等问题,还请发贴者在发贴前根据提示信息认真地修改,不要不假思索地往版上扔,这是一个不负责任的行为。

pengmanlong 发表于 2010-10-29 17:14:48

有些回复完全可以简单点嘛,笔墨横飞的。建议就建议,评价就评价。少些蔑视和卖弄的成分,也许才是论坛真正需要的。

bainhome 发表于 2010-10-29 21:24:11

本帖最后由 bainhome 于 2010-10-30 17:01 编辑

才注册三个月,也没几个帖子,恐怕很多论坛的心境体验还都没有,这点我理解。
其实一直做不了德高望重、德艺双馨的大侠,与其做个像有些人一样:别人问问题的时候消失,评价起别人的人品倒是兴致盎然的龌龊“侠客”,反不如踏踏实实做点儿实事,哪怕态度恶劣、哪怕蔑视、哪怕卖弄,解决了别人的问题,也比整天遇到问题就没胆吭气的好一点儿吧?
什么笔墨横飞,有点可笑,不说话不发表意见,来论坛干嘛?装模作样谈人品?论坛最需要什么我不知道,不过什么问题不解决,光对着人品扯淡的人恐怕是论坛最不需要的。
建议这个帖子关了吧,这么长时间,关于GUI的bug实例也没拿出来,尽是些拐到不知哪里的废话(包括我自己),无聊透顶。
关于“bug”,既然下了这样的判断,首先应当给出几个必要的东西:
1.环境
包括什么版本,可以看到bug现象的错误信息或者图形
2.问题的基本描述
尤其验证所需扼要的代码
3.mathworks主页是否有相关官方的说明
动不动谈bug的我就见了不少,7年来在论坛真能找到bug的,寥寥几人,而且都有详细的实例,严密的论证,成型的补救做法。
所以其他人嘛,嘿嘿...

qibbxxt 发表于 2010-10-29 21:53:25

要找到matlab的bug需要相当的水平和运气,自从用matlab到现在我发现的很少
上次roc说的accumarray的问题,都不曾说是bug
建议lz多查查相关资料

pengmanlong 发表于 2010-11-1 14:36:20

三个月...和七年...恩,差距真的很大。
恩,贴子数也没达到评价人品的水平。
作为matlab菜鸟都应该进来学习学习的。多好,学到了回复的手艺。
mathworks也是,应该发布一个"人脑BUG"解释下这个情况的。
就这样吧,也没踏踏实实的能力写个千八百字的,鸭梨很大。

wuyuan 发表于 2010-11-1 14:43:34

本打算本帖就此沉寂下去,直到遇到高人指点,以免再次因为错言被扣掉仿真币。我想如果真的对GUI很熟悉,并遇到这种情况的,一看便知问题所在,过多的解释纯属无意之举。我不知道bainhome 为什么会感到什么“空灵飘逸”甚至是“渗人地冷笑”!
我用的版本是MATLAB 7.0.4,图片附上。在正常的界面中,可以看到在图片的左边会有三个pushbutton,分别是“传递函数”,“垂直加速度功率谱”和“Reset”,在缺失控件的界面中,可以看到少了中间的“垂直加速度功率谱”这个控件,但打开object browser可以看到这个控件仍是是存在的,而且在m文件中这个控件的回调函数也是存在的。也就是说这个控件无故丢失了。我不知道这个算不算bug,但是确实是个问题。最后,我很尊敬论坛中的各位版主以及高级会员,我只是三个月的注册年龄,但是我不知道讨论问题还要什么“心境体验”,我也从没有有过什么“言语挑衅”的意图,只是用相同的方式和对方交流罢了。

wuyuan 发表于 2010-11-1 14:45:04

正常的界面

wuyuan 发表于 2010-11-1 14:45:47

缺失控件界面的object browser

bainhome 发表于 2010-11-1 15:13:14

本帖最后由 bainhome 于 2010-11-2 21:14 编辑

to someone:
人脑有BUG,直接找医生不就完了?就不要麻烦mathwork搞国际人道援助了,您说呢?顺便问一句:您居高临下临风俯瞰大家的道德层次时,了解过这个主题在争论什么吗?
只能沉痛地认为:您的悲剧教育我们,在这样类型的论坛里,仅仅有远超他人的道德层次,却并不具备起码的技术实力,将是一件多么令人扼腕痛惜的事情!

to wuyan:
早一点以这种方式发文讨论,怎会有其他不愉快的插曲?回到正题:
建议一:如果方便,可以屏蔽内部必要和保密的函数,仅给出界面,在大家不同版本、不同大小显示屏的电脑上运行一下,看是否有相同问题,仅仅给现象图是不够的;
建议二:我想个人对GUI还算勉勉强强熟悉,基本能算是GUI的老用户,几年以来写过一些零碎小东西,无论套模板还是代码形式,无论控件多少,从未遇此问题,甚至在自己常去论坛也未见此类成型成熟讨论,因此觉得“GUI用户会一看便知”或有武断。
最后,我对于涉及BUG的主题,往往抱着感兴趣但同时极度质疑的双重态度,因为太多问题深究一下,总发现错在使用者,加之无论如何,您首贴都有草率之嫌,MATLAB是比较复杂的,各种问题出现状况都有,从没有已知条件给得太详细的疑问,只会有不会问问题的人。加之最近论坛极度不负责任问问题的ID又有探头倾向,故有些偏执直言,倒非全部针对你,倘有得罪,我收回仅对你有所偏激的言辞,并望见谅。
下面我们还是回到问题上来如何?

bainhome 发表于 2010-11-1 15:16:00

另外,我认为如果你电脑上确有丢失控件的问题,不妨人为增删某些控件,然后调试,看看规律。

zccbest 发表于 2010-11-1 15:21:33

建议完全采用M文件编写,就不会有任何问题

bainhome 发表于 2010-11-1 15:26:18

那样代码量很大,要学的东西也比较多,很多MATLAB编程基础相对差、或者导师催活儿急的人有时可能不会选择此种方式,无论如何,我认为的确不能排除position和屏幕尺寸的嫌疑。

lin2009 发表于 2010-11-1 15:29:54

有问题就把问题摆上来,交代来龙去脉,贴出过程、现象以及相应的代码(有核心代码要保密的,可以处理一下),而不是先轻易下结论。
像这样挤牙膏式的,藏着掖着的,对问题的解决有什么好处呢。
是人为的错误还是真正的Bug谁知道呢?

bainhome 发表于 2010-11-1 15:52:34

我想,经过了几天,应该算是比较冷静了(至少我个人是这样的),因此我推荐几个帖子给大家看看,我认为这样的探讨形式,比较适合于讨论BUG问题:
1.关于MATLAB2006a版本下图形保存的BUG及修正办法——by SCIE
http://forum.simwe.com/viewthread.php?tid=742562
2.去掉MATLAB编译产生的可执行图形界面程序运行时的DOS黑窗口的一种方法——by TAOHE
http://forum.simwe.com/thread-191738-1-1.html
3.在MATLAB内部启动外部程序的MEX函数——by SCIE
http://forum.simwe.com/viewthread.php?tid=168855
4.MATLAB函数中参数传递探秘——by SCIE
http://forum.simwe.com/viewthread.php?tid=775613

这四个帖子后三个是MATLAB版我个人最爱,时常拿出来看看。技术也许会过时,但独特而严密的思维方式则不会,我想,版内很多问题的讨论,应像这种方式去看齐,而不是随便来个“应该懂的”就能打发掉,尤其是在批判某种现存技术的时候。
与诸君共勉。

wuyuan 发表于 2010-11-1 16:42:28

17# lin2009 这位仁兄,我之所以称之为“bug”,是因为比较难以琢磨,并不是说每次打开都出现这种情况,而是具有某种偶然性,更不是藏着掖着,之所以今天才上传图片,是因为刚好今天又遇见这个错误。如果你有什么可行的解决办法,不妨一起讨论!来点实际的!

bainhome 发表于 2010-11-1 18:27:14

平心而论,的确是论题所给信息量不够,造成可讨论的伸缩空间不大,又或者过大。让人无法给出实际或者准确判定。抛开一切人情感的因素,我和lin2009在这点上看法一致。
回到我今天最开始的话:关于偶然性,我认为只要能给出你的GUI框架代码(这个不是什么秘密,应该能给出),大家一起运行运行,哪怕要求多运行几次才能出现问题,simwe还有一些具备MATLAB实际经验的会员,我想,谜题被解开的可能性就会更大。
页: [1] 2
查看完整版本: MATLAB中GUI中的bug