shwwd 发表于 2007-6-15 17:55

交互窗口读写文件的问题

我想问一下:wrx把它最后的数据直接以一个固定的文件名保存了,如果我想建立一个交互窗口,可以随意的把这个文件改个名字改个路径,就像office软件中的另存为……(save as)一样,该怎么做?

eight 发表于 2007-6-15 23:21

原帖由 shwwd 于 2007-6-15 17:55 发表 http://www.chinavib.com/forum/images/common/back.gif
我想问一下:wrx把它最后的数据直接以一个固定的文件名保存了,如果我想建立一个交互窗口,可以随意的把这个文件改个名字改个路径,就像office软件中的另存为……(save as)一样,该怎么做?

help uiputfile

更多的请看这个:[原创]使用文本文件(.txt)进行数据存取的技巧总结

shwwd 发表于 2007-6-19 17:15

谢谢!

问个菜鸟问题:(看我的理解是否正确)

uigetfile和uiputfile只是得到文件名和路径而已,如果想要读写文件还需要另外编程。
像uigetfile,还需要fopen编程;uiputfile需要fprintf编程。
我是利用上面的方法实现的,不知是否还有更简便的方法?

GUI中的menu菜单编程有没有好些的文章,自己没有找到。
谢谢!!

eight 发表于 2007-6-19 18:51

原帖由 shwwd 于 2007-6-19 17:15 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢!

问个菜鸟问题:(看我的理解是否正确)

uigetfile和uiputfile只是得到文件名和路径而已,如果想要读写文件还需要另外编程。
像uigetfile,还需要fopen编程;uiputfile需要fprintf编程。
我是利用 ...

请阅读关于 GUI 心得 的精华贴

shwwd 发表于 2007-6-20 13:51

关于 GUI 心得

‘关于 GUI 心得’已经读了,不过还是不能实现我想实现的一下功能:

菜单File-New中想另打开一个本GUI程序,callback中该怎样实现?
菜单Help-Help,想打开一个文件(格式可能为.htm .doc .pdf),callback该如何实现?
菜单Help-About this Software,想显示作者和公司的名字以及把公司的Log图片放上去,如何实现?
还有就是,想把编写的GUI程序中最左上角的MATLAB的图标换成我们公司的Log,如何做?

shunfly 发表于 2007-6-20 15:46

GUI都还没入门
就想着
把公司的LOGO啊等等放上去
现在的人啦:@L

eight 发表于 2007-6-20 15:56

原帖由 shunfly 于 2007-6-20 15:46 发表 http://www.chinavib.com/forum/images/common/back.gif
GUI都还没入门
就想着
把公司的LOGO啊等等放上去
现在的人啦:@L


呵呵,LOGO问题在你的地盘(simwe 论坛)应该有这个介绍,我现在比较忙,晚上吧,看看有否时间找找以前下载过的资料。或者有空的话你贴一下吧

[ 本帖最后由 eight 于 2007-6-20 15:58 编辑 ]

shwwd 发表于 2007-6-20 16:17

原帖由 shunfly 于 2007-6-20 15:46 发表 http://www.chinavib.com/forum/images/common/back.gif
GUI都还没入门
就想着
把公司的LOGO啊等等放上去
现在的人啦:@L

闻道有先后,术业有专攻,如是而已!
对于像这种软件的问题,如果知道了,就觉得很简单,如果不知道,自己摸索,因为在Help中很难有相同的例子就会觉得很难。

大家都是不同的行业,Matlab只是利用专业知识去实现某种目的的手段和工具而已!

[ 本帖最后由 eight 于 2007-6-20 17:13 编辑 ]

eight 发表于 2007-6-20 18:39

原帖由 shwwd 于 2007-6-20 16:17 发表 http://www.chinavib.com/forum/images/common/back.gif


闻道有先后,术业有专攻,如是而已!
对于像这种软件的问题,如果知道了,就觉得很简单,如果不知道,自己摸索,因为在Help中很难有相同的例子就会觉得很难。

大家都是不同的行业,Matlab只是利用专业知 ...

别动怒,shunfly 也是为你好而已,matlab 要学好也绝非易事,还是掌握一定的基础为好

eight 发表于 2007-6-20 19:14

原帖由 shwwd 于 2007-6-20 13:51 发表 http://www.chinavib.com/forum/images/common/back.gif
‘关于 GUI 心得’已经读了,不过还是不能实现我想实现的一下功能:

菜单File-New中想另打开一个本GUI程序,callback中该怎样实现?
菜单Help-Help,想打开一个文件(格式可能为.htm .doc .pdf),callbac ...

四个问题的解答:
1. help eval

2. help winopen

3. 参考以下代码:
    'CallBack',' = imread(''logo.bmp'');msgbox({''Version 1.0'';'''';''December 16, 2006'';'''';''Copyright 2006''},''About ABC'',''custom'', x, maps,''modal'')'4. 使用以下函数:(注:请勿用作商业用途,否则 matlab 有权举报侵权。特别留意函数的帮助信息部分)
function changeicon(h,filename)
%CHGICON changes the figure icon.
%   CHGICON(H,FILENAME) changes the icon of a figure to an image specified by
%   the string FILENAME, where H is a handle to the figure. If the file is not
%   in the current directory or in a directory in the MATLAB path,specify the
%   full pathname of the location on your system. If FILENAME is not a valid
%   image file name, the function just removes the previous icon of the figure.
%
%Example:
%         h = figure;         
%         chgicon(h,'newIcon.png'); % replace 'newIcon.png' with your image
%
% IMPORTANT NOTES:
%      REPLACING THE MATLAB GUI ICON VIOLATES THE LICENSE AGREEMENT
% OF MATLAB. DO NOT USE THIS FUNCTION COMMERCIALLY.
%
%   Han Qun, Sept. 2005
%   Copyright 2005-2006 Han Qun
%   College of Precision Instrument and Opto-Electronics Engineering,
%   Tianjin University, 300072, P.R.China.
%   Email: junziyang@126.com
%   $Revision: 1.0 $$Date: 2005/12/2 $
if nargin<2
    error('MATLAB:chgicon','%s','Too few input arguments!');
end
if nargin >2
    error('MATLAB:chgicon','%s','Too many input arguments!');
end
newIcon = javax.swing.ImageIcon(filename);
javaFrame = get(h,'JavaFrame');
javaFrame.setFigureIcon(newIcon);

shwwd 发表于 2007-6-21 12:44

To eight

非常感谢!!!
问题2和3已经做好,1和4还在试。

shwwd 发表于 2007-6-21 18:21

1和4还是不太会做,4不想做了,1我变成open了,利用了2中的winopen。
软件基本完成了,下一步写安装手册和操作手册,然后程序打包,想做成独立软件。
在这里特别感谢eight,等有机会把我做的东西跟大家分享一下,是关于汽车发动机进气系统消音优化分析和模拟计算方面的。

eight 发表于 2007-6-21 19:57

原帖由 shwwd 于 2007-6-21 18:21 发表 http://www.chinavib.com/forum/images/common/back.gif
1和4还是不太会做,4不想做了,1我变成open了,利用了2中的winopen。
软件基本完成了,下一步写安装手册和操作手册,然后程序打包,想做成独立软件。
在这里特别感谢eight,等有机会把我做的东西跟大家分享一 ...

1. 假设被调用的GUI是 fig 方式的,并假设文件名为 abc.m 和 abc.fig,且与调用的 GUI 在同一目录下,则: eval('abc'); 就可以了
4. %Example:
%         h = figure;         
%         chgicon(h,'newIcon.png'); % replace 'newIcon.png' with your image

shwwd 发表于 2007-6-22 11:53

原帖由 eight 于 2007-6-21 19:57 发表 http://www.chinavib.com/forum/images/common/back.gif


1. 假设被调用的GUI是 fig 方式的,并假设文件名为 abc.m 和 abc.fig,且与调用的 GUI 在同一目录下,则: eval('abc'); 就可以了
4. %Example:
%         h = figure;         
%         chgicon(h, ...

h = figure;         
chgicon(h,'newIcon.png');可以将新打开的figure的图标换成'newIcon.png'的图标,试过了,没问题,多谢!!
但我在GUI的程序中,例如 example.fig和 example.m的GUI程序,我将chgicon(example,'newIcon.png')放在function varargout = example(varargin)的后面老出错,放在程序的最后,Run的结果就是出来了很多个GUI,最后有个出错信息,图标倒是变过来了。
这是怎么回事啊?

shwwd 发表于 2007-6-22 15:39

在matlab的命令窗口中直接键入eval('abc'),没什么问题的,就是在GUI程序内部就不行了。
页: [1] 2
查看完整版本: 交互窗口读写文件的问题