Matlab编译GUI时隐藏Dos控制台窗口
MATLAB GUI编程技巧汇编

GUI编程技巧汇编/forum/forum-19-105.html 1. 如何使gui编的界面一运行就居中?方法一:a>假如当前的figure的句柄是h,则在程序运行的刚开始,用这个命令,set(h,'visible','off'); %使h对应的图不可见.b> 然后你再进行你的其它的操作,c>最后,在程序的结尾部分,用这两个语句:movegui(h,'center'); %将这个图移到中央.详细用法参阅help moveguiset(h,'visible','on'); %恢复其可见性.方法二:function figureMiddledfigure;set(0,'units','pixels');set(gcf,'units','pixels');screenrect=get(0,'screensize');screenwidth=screenrect(3);screenheight=screenrect(4);figwidth=600;figheight=200;figposition=[(screenwidth/2-figwidth/2) ...(screenheight/2-figheight/2)...figwidth figheight];set(gcf,'position',figposition);2. 有关GUI实时显示的问题首先,用MATLAB做实时显示其效果并不是很好,主要原因就是它的速度慢,尤其是你的程序中出现循环时,速度更慢.前几天,我也做了一个实时显示的东西,我的做法如下:1.建立一个图,如h=plot(x,y);set(h,'erasemode','xor') %设置擦除方式.2.建立一个死循环,不断的接受数据,并且不断的更新x,y3. 用这个指令set(h,'xdata',x,'ydata',y) ,使x,y的数据不断的得到更新.4.用屏幕刷新指令drawnow进行刷新.就这个方法就可以做到实时了.3.关于参数传递关于参数传递主要有三种方法:1). 就是用定义全局变量的方法来实现,如global a,等这种用法,这种一般用在小程序中,因为如果全局变量太多的话,会造成系统混乱.2). 应用对象的userdata属性,直接通过对象的userdata属性来进行各个callback之间的数据存取操作.首先把数据存到一个特定的对象中,然后在取出来,如下:>> set( 'ui_handle','userdata',value)>>value=get('ui_handle','userdata')这种方法虽然简单,但是缺点是每个对象只能存取一个变量值.3). 利用setappdata,getappdata,rmappdata函数来实现,这几个函数来进行数据传递是最有弹性的.使用方法和第二种方法类似.4.怎么直接将下面一段.txt格式导到MATLAB中?用load命令load e:\data\ccc.txt;我的文件是e盘data下的其实还有一个方法可以导入,有没有试过textread呢5.函数结构与参数传递1)最近简单整理了一下发过的东西,将大家比较困惑的两个问题,再强调一下。
Matlab中的GUI设计和用户界面开发指南

Matlab中的GUI设计和用户界面开发指南引言在科学计算和数据可视化领域,Matlab是一种经常被使用的高级技术工具。
虽然Matlab主要以命令行界面为特点,但其GUI(Graphical User Interface)设计和用户界面开发方面的功能同样强大。
本文将介绍如何使用Matlab进行GUI设计和用户界面开发,并提供一些实用的指南。
一、GUI设计的重要性GUI设计是一种将复杂的计算方法和数据分析过程以直观的方式呈现给用户的技术。
优秀的GUI设计能够提升用户的工作效率,减少错误的发生,并增强用户对软件的使用体验。
在科学研究和工程应用中,GUI设计的重要性不言而喻。
二、Matlab中的GUI设计工具Matlab提供了一些有用的工具和函数用于GUI设计。
最常用的工具是GUIDE (Graphical User Interface Development Environment),它是Matlab的图形用户界面开发环境。
GUIDE允许用户通过可视化的方式创建和编辑GUI元素,如按钮、文本框、图形等。
此外,Matlab还提供了一些用于处理图形和交互的函数,如绘图函数、事件处理函数等。
三、GUI设计的基本原则在进行GUI设计时,有一些基本原则需要被遵循。
首先,界面应该简洁、直观和易于理解。
用户应该能够快速找到所需的功能,并在界面上进行直接操作。
其次,界面应该具有一致性,各个元素的布局和功能应该保持一致,避免给用户造成困惑。
最后,界面应该具有灵活性和可扩展性,方便用户进行个性化设置和定制。
四、实例:绘制曲线的GUI设计假设我们需要设计一个简单的GUI界面,用于绘制数学函数的曲线。
首先,我们可以使用GUIDE创建一个包含绘图区域、输入框和按钮的界面。
然后,我们需要编写一些事件处理函数,用于响应用户的操作。
一个基本的事件处理函数是“绘图”函数,它用于根据用户输入绘制曲线。
在该函数中,我们可以使用Matlab提供的绘图函数,如plot()、xlabel()和ylabel()等,来完成曲线的绘制和标注。
MatlabGUI程序编制技巧

Matlab GUI 程序编制技巧1.确定界面启动的初始态编制界面最好的方法是在GUIDE 里绘制,完成后存盘会自动生成“文件名.fig ”和“文件名.m”文件,前者存储了界面的各项参数,如大小、菜单、控件等;后者是一个自动生成的调用参数的脚本文件,在界面中的每一个控件和菜单都有相应的回调函数,所需要的运行程序都填写在这些回调函数中。
一般每一个界面的启动状态在GUIDE里绘制完成,它们的参数存储在“文件名.fig ”文件中。
但有时需要在启动时运行某些程序,如在截面上显示一幅图像,并进行某些处理等,这些代码就要写在“文件名_OpeningFcn (hObject, eventdata, handles, varargin)”函数中。
2.从界面读取数据从界面的控件中读取数据的基本格式为:get(findobj(gcf,'Tag',' 控件名'),'属性');其中的findobj函数用于寻找特定的控件,该控件的“Tag”属性为后面的字符串。
对控件的属性进行设置的基本格式为:set(findobj(gcf,'Tag',' 控件名'),'属性',属性值);当要对界面本身的属性进行操作时,用get(gcf,'属性');和set(gcf,'属性',属性值);比如要把一个变量a 存入界面的UserData 中,用set(gcf,'UserData',a);3.不同界面间变量空间的切换和数据的传递有时一个程序不止一个界面,而且要在几个界面间切换,但它们的变量在不同的空间中,不能通用,因为每当调用一个界面函数,都会进入一个新的变量空间。
解决的办法是利用界面和控件的’UserData'属性在界面的转换过程中传递界面的句柄和变量。
如一个主界面imagmatching2调用参数设置界面paracall2,为了在调用完之后,程序可以返回主界面(连同新的变量),必须将主界面的句柄作为参数传递给设置界面函数。
matlab gui教程

什么是GUI呢? GUI是Graphical User Interface 图形用户界面的意思,象很多高级编程语言一样,Matlab也有图形用户界面开发环境,随着计算机技术的飞速发展,人与计算机的通信方式也发生的很大的变化,从原来的命令行通讯方式(例如很早的DOS系统)变化到了现在的图形界面下的交互方式,而现在绝大多数的应用程序都是在图形化用户界面下运行的。
记得读书的时候,大学开学不久,学校很多同学就开始报考全国计算机等级考试了,当然我也是其中的一分子,其中C语言是大多数人选择的科目,当时在学C语言的时候,经常也会遇到人机交互的例子,譬如一个计算两个数相加的程序,运行程序后便切换到了Dos模式,然后在此模式下输入两个数,再回车,才能返回运算结果。
当时就觉得很不方便,也不友好,后来才得知C语言是面向过程的语言,是非面向对象的语言(VC++,VB,Matlab等是面向对象的)。
那么下面我们就来看看Matlab是如何简单、快速而友好地解决这类问题的吧。
Matlab GUI编程教程(适用于初学者)1.首先我们新建一个GUI文件:File/New/GUI 如下图所示;选择Blank GUI(Default)2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示;布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。
3.我们先为数据1文本框添加代码;点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。
function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double然后在上面这段代码的下面插入如下代码:%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则现实空白内容input = str2num(get(hObject,'String'));%检查输入是否为空. 如果为空,则默认显示为0if(isempty(input))set(hObject,'String','0')endguidata(hObject, handles);这段代码使得输入被严格限制,我们不能试图输入一个非数字。
隐藏命令窗口的操作方法是

隐藏命令窗口的操作方法是
在Windows操作系统中,有几种方法可以隐藏命令窗口:
1. 编写一个批处理文件并运行:创建一个批处理文件(后缀名为 .bat 或
者 .cmd),在其中执行你想要运行的命令。
然后,双击运行这个批处理文件即可隐藏命令窗口。
2. 使用VBScript 或者PowerShell 脚本:创建一个VBScript 或者PowerShell 脚本文件(后缀名为 .vbs 或者 .ps1),在其中执行你想要运行的命令。
然后,双击运行这个脚本文件即可隐藏命令窗口。
3. 创建一个快捷方式:右键点击命令窗口中的标题栏,选择“属性”。
在“快捷方式”选项卡中,将“运行”设置为“最小化”或者“隐藏”。
然后,使用这个快捷方式来运行命令。
4. 使用第三方工具:可以使用一些第三方工具来隐藏命令窗口,例如,使用AutoHotkey 脚本,使用编译器将脚本文件转换成可执行文件等。
请注意,在一些情况下,命令窗口可能会在命令执行完毕后自动关闭,而在一些情况下,命令窗口可能会一直保持打开状态。
以上方法适用于Windows操作系统,对于其他操作系统可能有不同的方法。
matlabGUI人机用户界面设计[6]
![matlabGUI人机用户界面设计[6]](https://img.taocdn.com/s3/m/3717f23424c52cc58bd63186bceb19e8b8f6ec99.png)
图7-18 对齐工具对话框
在界面之中还需要创建菜单,创建菜单能够经过菜单编辑器完毕。单击工具栏上旳菜单编辑器按钮,能够打开菜单编辑器对话框,在对话框中单击创建新菜单按钮,则能够创建新旳菜单,设置菜单属性如图7-20所示。
以空白界面类型为例,单击“OK”按钮,这时MATLAB将开启GUIDE旳图形界面,如图所示。
图 具有空白界面旳GUIDE图形界面
在GUIDE界面旳左侧为MATLAB旳控件面板,控件面板包括了能够在画布上绘制旳图形控件: (Push Button)、单项选择按钮(Toggle Button)、单项选择框(Radio Button)、复选框(Checkbox)、文本框(Edit Text)、静态文本框(Static Text)、滚动条(Slider)、组别框(Frame)、列表框(Listbox)、下拉框(Popup Menu)和坐标轴(Axes)。
2.1 GUIDE工具入门
使用图形句柄创建GUI旳过程繁琐,而且在程序编写好之前,顾客图形界面是不可见旳。所觉得了便于创建图形顾客界面,MATLAB提供了一种开发环境,能够帮助顾客创建图形顾客界面,这就是GUIDE——Graphic User Interface Development Environment。 在MATLAB中开启GUIDE旳措施: >>guide或者经过“Start”菜单项选择择“MATLAB”下旳“GUIDE”命令。
这时,将直接开启GUIDE Quick Start窗体,在这个窗体中,能够初步选择图形顾客界面旳类型,如图所示。
图 GUIDE旳迅速开启界面
在迅速开启界面中,能够选择四种类型旳新建界面:* 空白界面(Black GUI)。* 具有图形控件旳界面(GUI With Uicontrols)。* 具有菜单和坐标轴旳界面(GUI With Axes and Menu)。* 模式对话框(Modal Question Dialog)。
MATLAB实用教程GUI
MATLAB实用教程GUIMATLAB是一种功能强大的科学计算软件,在各个领域中被广泛应用。
除了提供基础的数值计算和数据可视化功能之外,MATLAB还提供了可视化编程界面(GUI)工具箱,方便用户通过交互式界面进行操作和数据分析。
本篇文章将介绍一些MATLAB实用教程GUI的相关内容。
首先,我们需要了解什么是GUI。
GUI是Graphical User Interface的缩写,即图形用户界面。
通过GUI,用户可以通过鼠标、键盘等输入设备与计算机进行交互,而不需要通过命令行输入指令。
MATLAB提供了一系列功能强大的GUI工具箱,用于创建各种形式的图形用户界面。
创建GUI的第一步是打开MATLAB的Guide工具箱。
Guide是一个可视化开发环境,提供了创建GUI界面和添加交互元素的功能。
打开Guide 后,用户可以通过拖放控件、设置属性等方式创建界面,并将其与MATLAB代码关联起来。
在Guide中,用户可以使用不同的布局管理器(layout manager)来组织和调整界面中的控件位置和大小。
常用的布局管理器包括网格布局(grid layout)、组框布局(box layout)等。
用户还可以为每个控件设置属性,如字体、颜色、大小等。
对于每个控件,用户可以为其添加特定的回调函数。
回调函数是一个用户定义的函数,在特定事件(如按钮点击、输入框输入等)发生时被调用。
通过回调函数,用户可以定义GUI与MATLAB代码之间的交互逻辑。
在编写回调函数时,用户可以使用MATLAB的各种功能。
例如,用户可以使用MATLAB的函数库进行数据处理和分析,绘制图表和绘图,并将结果显示在GUI界面中。
用户还可以使用MATLAB提供的各种工具和函数库进行图像处理、信号处理等。
创建一个GUI界面的一个常见实例是绘制函数图像。
用户可以在界面中添加一个绘图区域和一些滑动条或按钮,用于调整绘图的参数。
在绘图区域中,用户可以绘制函数图像,并随着滑动条或按钮的调整,实时更新绘图结果。
Matlab技术GUI设计方法
Matlab技术GUI设计方法Matlab是一种强大的数学软件,广泛应用于科学计算、数据分析和可视化等领域。
在使用Matlab进行数据处理和算法开发时,GUI(Graphical User Interface,图形用户界面)常常是必不可少的工具。
本文将介绍一些Matlab技术GUI设计方法,帮助读者快速掌握GUI设计的基本原理和实现技巧。
一、GUI设计的基本原理1. 用户需求分析在设计GUI之前,首先需要明确用户的需求。
这包括用户需要处理的数据类型、使用的功能和界面布局等。
通过与用户交流和需求分析,可以明确GUI的设计目标,为后续的设计工作提供指导。
2. 界面布局设计界面布局是GUI设计的基础,决定了用户与软件交互的方式。
在设计界面布局时,可以使用Matlab提供的GUI设计工具来快速设计界面,也可以采用编程的方式来实现自定义的界面布局。
无论是使用哪种方式,都需要考虑界面的美观性和易用性。
3. 功能模块设计功能模块是GUI设计的核心,决定了用户可以通过界面进行的操作。
在设计功能模块时,可以使用Matlab提供的各种函数和工具箱来实现数据处理、算法运算等功能。
同时,还可以根据用户的需求,添加自定义的功能模块,提高GUI的灵活性和扩展性。
4. 事件响应设计事件响应是GUI设计中的重要部分,用于实现用户和软件之间的交互。
在Matlab中,可以通过编写回调函数来实现事件的响应。
回调函数是Matlab中的一种特殊函数,用于处理用户的输入和界面的变化。
通过编写适当的回调函数,可以使GUI实现与用户的实时交互,并根据用户的操作进行相应的数据处理和算法运算。
二、GUI设计的实现技巧1. 使用Matlab提供的GUI设计工具Matlab提供了一系列的GUI设计工具,如GUIDE(GUI Design Environment)、App Designer等。
这些工具提供了丰富的界面组件和布局选项,可以帮助用户快速设计GUI界面。
经典GUI基础入门:MATLAB中GUI用户图形界面学习
如果没有图形用户界面(GUI)我们只能从命令行(Command Window)中调用相关程序,这相对比较繁琐,并且不是所有用户都是这个能力。
就好比计算机的 DOS 系统,在有windows的情况下,您会选择DOS吗?当然我们也不排除骨灰级的人物!在本节教程我们主要针对没有G UI 创建和使用经历的网友,但是必要的M ATLAB基础知识是需要的。
在教程中我们将创建一个简单的GUI程序,它执行两个数的加法运行,然后显示其运算结果。
一、打开和创建GUI界面1、首先打开Matlab,在Command Window中输入guide回车2、此时打开GUI编辑器GUIDE(GUI Developer的缩写)2.1 界面上有两个标签也“Creat New GUI”和“Open Existing GUI”如果创建新的GUI此时我们选择第一个标签页,但如果打开其它已经存在的GUI 就点击第二个标签吧2.2 这里我们选择第一个标签下的“Blank GUI”(空白 GUI),下面还有几个系统GUI模版,你可以根据需要选择其它的。
2.3 点击“OK”我们正式进入GUIDE界面,呵呵,是不是感觉似曾相识3、添加你需要的控件到figure中在添加控件之前,您最好对您的GUI界面布局已经有一定的构思了,否则盲目性太大了不利于您的编程。
下面是我们构思的布局。
二、添加控件和设置属性在正式讲解之前,我们先讲解下GUI中的鼠标基本操作(a) 在左边的控件面板中鼠标左击选择您需要的控件,然后放开鼠标(b) 在右边的figure中按住左键,画出您的控件,于是空间就在figure上(c) 你可以用鼠标拖拽figure上所有控件,来改变他们的位置(d) 在控件上双击鼠标左键(右击是快捷菜单)可打开控件属性面板1、从上面的布局构思,我们知道本GUI需要以下控件:三个“编辑文本框”(Edit Text):三个“静态文本框”(Static Text):一个“确定按钮”(Pushbutton)按照上面介绍的鼠标操作方法,将这6个控件拖到右边的figure中,如下图所示2、接下来就是编辑这些控件的属性好,下面从Static Text开始吧,双击其中一个“静态文本块”,将跳出该控件的“属性查看器”(Property Inspector)GUI控件的几个常用属性说明如下:position:指示空间在figure中的位置font**:字体相关属性string:相当如VB中的caption,就是显示在控件上的文字tag:控件的唯一标识符,相当于ID,我们需要tag来指定某一个空间2.1 在这里我们修改它的“string”属性为“+”2.2 同理修改它的“fontsize”属性为20在编辑完这些属性后,直接点击右上角的“关闭”按钮,关闭属性查看器,此时属性会自动保存。
MATLAB图形用户界面开发技巧
MATLAB图形用户界面开发技巧引言:在科学计算和数据可视化领域中,MATLAB是一个非常流行和强大的工具。
它同样也提供了丰富的图形用户界面(GUI)开发工具,这使得用户能够通过可视化的方式与数据进行交互,并且更加方便地进行复杂的数据分析和处理。
本文将介绍一些MATLAB图形用户界面开发的技巧,帮助读者更好地利用这一功能。
一、GUI的基本结构MATLAB中的图形用户界面主要由两个部分组成:前端和后端。
前端是指图形界面,也就是我们在屏幕上看到的GUI界面;后端是指实现了具体功能的代码部分。
开发一个GUI的一般步骤就是首先布局和设计前端界面,然后编写代码来实现具体功能。
在设计前端界面时,可以利用MATLAB提供的图形界面开发工具进行布局和美化。
二、有效利用布局控件在GUI的前端设计中,使用合适的布局控件是非常重要的。
MATLAB提供了多种布局控件,如面板(Panel)、网格布局(Grid Layout)和盒式布局(Box Layout)等。
不同的布局控件适用于不同的界面设计需要。
使用这些布局控件可以使得界面更加整洁、美观,并且更易于用户操作。
三、交互式控件的添加一个好的GUI应该能够与用户进行有效的交互。
为了实现这一点,我们需要在GUI界面中添加一些交互式的控件,如按钮、滑动条、复选框等。
这些控件可以被用户点击、拖动或选择,从而触发特定的功能。
MATLAB提供了丰富的交互式控件库,使得我们可以轻松地为GUI添加这些控件,并将其与后端代码相连,实现用户操作和数据处理的无缝链接。
四、数据可视化一个重要的功能是在GUI界面中实现数据的可视化。
MATLAB拥有强大的数据可视化工具箱,包括绘制2D和3D图形、绘制流程图、绘制热力图等功能。
利用这些工具,我们可以在GUI界面中将数据以图形的形式呈现出来,从而更好地理解数据的特征和规律。
这对于数据分析和决策制定非常有帮助。
五、错误处理和用户反馈在GUI开发过程中,我们应该充分考虑到错误处理和用户反馈的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab编译GUI时隐藏Dos控制台窗口
Matlab所写的GUI编译后运行时总是先出现一个DOS控制台窗口。
这个窗口可以返回一些错误信息或程序里的fprintf的输出等。
但实在是影响GUI程序的美观,那么如何去掉这个窗口呢?
下边是comp.soft-sys.matlab 里找到的解决方法。
cd(prefdir)
edit compopts.bat (此时compopts.bat打开,在文件最后添加)
Add following line to your options file before you compile:
LCC:
set LINKFLAGS=%LINKFLAGS% -subsystem windows
Microsoft Visual C/C++:
set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup
Borland:
set LINKFLAGS=%LINKFLAGS% -aa
If you do not have this line, the system defaults to building a
console application.
mcc -m VLPR.m –a myico.jpg -a gui.bmp -a cpzhe2.bmp -a cpzhe1.bmp -a cpzhe.bmp -a
cpsu1.bmp -a CPSU.BMP -a CPJING.BMP -a cphu.bmp -a cpgui.bmp -a 33.BMP -a 32.BMP -a
31.BMP -a 30_1.BMP -a 30.BMP -a 29.BMP -a 28.BMP -a 27.BMP -a 26.BMP -a 26_1.BMP -a
25.BMP -a 24.BMP -a 23.BMP -a 22.BMP -a 21.BMP -a 20.BMP -a 19.BMP -a 18.BMP -a
17_1.BMP -a 17.BMP -a 16.BMP -a 15.BMP -a 14.BMP -a 13.BMP -a 13_1.BMP -a 12.BMP -a
12_1.BMP -a 11.BMP -a 11_1.BMP -a 11_2.BMP -a 10_1.BMP -a 10.BMP -a 9.BMP -a 8.BMP -a
8_1.BMP -a 8_2.BMP -a 8_3.BMP -a 8_4.BMP -a 7.BMP -a 6.BMP -a 6_1.BMP -a 5.BMP -a
5_1.BMP -a 5_2.BMP -a 5_3.BMP -a 4.BMP -a 3.BMP -a 2.BMP -a 2_1.bmp -a 2_2.bmp -a
2_3.bmp -a 1_2.bmp -a 1_1.bmp -a 1.jpg -a 1.bmp -a 0.BMP -a 0_1.bmp -m vlpr.res