interface grafica matlab

Upload: jackson

Post on 07-Apr-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Interface Grafica Matlab

    1/25

    Universidade Estadual Paulista

    Faculdade de Cincias e Tecnologia

    Campus de Presidente Prudente

    CONSTRUINDO INTERFACES GRFICASCOM O MATLAB

    Alexandre Fioravante de Siqueira DFQB FCT UNESPMessias Meneguette Junior DMEC FCT UNESP

    Presidente Prudente, So PauloAgosto de 2010

  • 8/6/2019 Interface Grafica Matlab

    2/25

    ii

    Sumrio

    Prefcio

    1. Interfaces Grficas com o Usurio no Matlab 11.1. O que uma GUI?1.2. Os modos de criao1.3. Projetando sua GUI

    2. Guide O caminho mais fcil at as GUIs 32.1. O que o Guide?2.2. Programando a GUI

    3. GUIs e seus componentes 53.1. Os componentes bsicos de uma GUI3.2. O inspetor de propriedades

    4. Criando e modificando menus 114.1. A criao de menus e submenus no Guide4.2. Propriedades dos menus

    5. Exemplos, exemplos, exemplos 14

    6. Para onde ir agora? 21

    Referncias Bibliogrficas

  • 8/6/2019 Interface Grafica Matlab

    3/25

    iii

    Prefcio

    O Matlab, criado no fim dos anos 1970 por Cleve Moler (um dos fundadores da MathWorks, Inc.), destinado a clculos com matrizes. No entanto, reconhecido

    mundialmente como uma das melhores ferramentas para o processamento matemtico.Voltado s reas de engenharia, fsica, estatstica, economia, entre muitas outras,o Matlab no apenas um pacote de computao e plotagem; este software conta comdiversas extenses (as chamadas toolboxes) que o tornam muito verstil e poderoso.Algumas dessas extenses, por exemplo, so a signal processing toolbox, image

    processing toolbox, data acquisition toolbox, neural network toolbox.Com tantas opes disponveis, o Matlab se tornou uma vantajosa ferramenta

    que permite, mesmo aos usurios com capacidades elementares de programao,produzir grficos complexos e resolver problemas de elevado grau de dificuldade.

    Softwares profissionais em sua maioria contam com interfaces grficas intuitivas,de fcil acesso. Linguagens de programao bem conhecidas, como Pascal, Basic,

    Clipper e COBOL possuem ferramentas voltadas para a criao de interfaces grficascom o usurio (solues disponveis respectivamente, para cada linguagem: Delphi,Visual Basic, FlagShip e AcuCobol). Embora o foco dos programadores Matlab seja aresoluo de problemas matemticos avanados, o Matlab possibilita tambm aconstruo de sofisticadas interfaces grficas.

    Este trabalho tem como objetivo fornecer um curso introdutrio sobre a criaode interfaces grficas com o usurio (GUIs), assunto por vezes no conhecido entre osprogramadores Matlab. Aps o estudo do material, espera-se que o programadordesenvolva interfaces grficas bsicas, e tambm consiga se situar na busca deinformaes mais avanadas sobre a criao de GUIs.

  • 8/6/2019 Interface Grafica Matlab

    4/25

    1

    1. Interfaces Grficas com o Usurio no Matlab

    1.1. O que uma GUI?

    Uma interface grfica com o usurio (graphical user interface, a famosa GUI) uma interface pictrica para um programa. Uma GUI prov um ambiente familiarpara o trabalho do usurio, fornecendo recursos como janelas, botes, menus, entreoutros.

    Pode-se criar uma interface grfica se o aplicativo que voc est desenvolvendovai ser utilizado por outras pessoas, ou se a funo que voc est escrevendo vai serusada vrias vezes. Nesses casos, menus, botes e caixas de texto podem ser usadoscomo mtodos de insero de dados.

    Tenha em mente que a GUI deve se comportar de maneira inteligvel, de formaque o usurio presuma qual a ao que o programa tomar quando este interagir comum objeto pertencente interface. Por exemplo, quando um boto for clicado, natural

    que a ao adotada pelo programa seja descrita pelo nome etiquetado no boto.O Matlab contm exemplos interessantes de suas habilidades com as GUIs.

    Utilize, na janela de comandos (command window), o comando>> demo

    e veja o vdeo associado, ou consulte a ajuda do programa.

    1.2. Os modos de criao

    Basicamente, h dois meios de se criar uma GUI: Criando funes diretamente na linha de comando (o que pode ser dolorido,

    assombroso e desumano); Simplificando drasticamente a tarefa, com o uso da funo Guide, existente no

    Matlab.Neste curso as GUIs sero criadas com o auxlio do Guide, e depois

    programadas de acordo com a necessidade do usurio.

    1.3. Projetando sua GUI

    Antes de por a mo na massa, interessante que haja um projeto das GUIs quevoc deseja construir. Obviamente, este projeto feito depois das outras funes da

    interface terem sido planejadas. Um projeto de GUI pode ser feito com papel e caneta,como um rascunho da interface que voc deseja que o programa tenha. A ideia de umesboo exemplificada na Figura 1 [3].

  • 8/6/2019 Interface Grafica Matlab

    5/25

    2

    Figura 1. Um esboo de interface grfica com o usurio.

    O rascunho em um papel simples, mas independente da complexidade da GUI, sempre um bom meio de comear.

    Depois de projetada, hora de estruturar sua GUI no Guide.

  • 8/6/2019 Interface Grafica Matlab

    6/25

    3

    2. Guide O caminho mais fcil at as GUIs

    2.1. O que o Guide?

    O Guide (graphical user interface development environment, ou ambiente decriao de interfaces grficas com o usurio) fornece um conjunto de ferramentas para acriao de GUIs. Estas ferramentas simplificam o processo de diagramao eprogramao das interfaces grficas.

    Para iniciar o Guide, digitamos na janela de comandos do Matlab:>> guide

    Na Figura 2, temos o Guide com uma GUI em branco.

    Figura 2. A tela inicial do Guide, exibindo uma GUI em branco.

    Quando uma GUI criada no Guide, ele se encarrega de criar dois arquivos: oarquivo do corpo da interface grfica (que salvo como uma figura de extenso .fig,do Matlab) e outro arquivo contendo funes que controlam como a GUI trabalha (salvocomo um arquivo de funo .m, do Matlab). Este arquivo fornece cdigos para iniciar aGUI e contm a estrutura para os callbacks da interface (as rotinas que so executadas

    quando o usurio interage com um componente da GUI).

    2.2. Programando a GUI

    O Guide um programa simples de ser utilizado. Podemos trabalhar facilmenteeditando a GUI, colocando objetos como botes e caixas de texto diretamente na rea delayout. Porm, para que a GUI interaja com o usurio de maneira satisfatria, precisoprogramar as aes de seus objetos. Fazemos isso alterando a funo .m da interfacegrfica que foi criada.

    Como exemplo, na Figura 3, temos a GUI botaotexto.fig, e o arquivo

    botaotexto.m no editor do Matlab.

  • 8/6/2019 Interface Grafica Matlab

    7/25

    4

    Figura 3. A GUI botaotexto.fig, e seu respectivo arquivo .m no MatlabEditor.

    Esta interface grfica exibe um boto, uma caixa de edio e um rtulo de texto.O Matlab chama esses objetos depushbutton, edit texte static text, respectivamente.

    Observe, no arquivo botaotexto.m, os callbacks j citados anteriormente.Quando clicarmos o pushbutton, ativaremos seu callback, que determinar a ao doboto. Da mesma forma, quando digitarmos alguns caracteres na edit text e

    pressionarmos Enter, ativaremos seu callback.Note que static text no tem sua funo callback. Tenha em mente que nemsempre todos os callbacks so utilizados; veremos isso em detalhes adiante.

  • 8/6/2019 Interface Grafica Matlab

    8/25

    5

    3. GUIs e seus componentes

    3.1. Os componentes bsicos de uma GUI

    Observe, na Figura 2, a paleta de componentes do Guide. A Tabela 1, abaixo,descreve os componentes mais usados.

    Objeto Nome (tag no Matlab) DescrioControles grficos

    Boto simples (push button)

    Por vezes chamado de boto decontrole, um componente grfico quenormalmente contm um rtulo detexto. Clicando-o, o Matlab executa a

    ao definida pelo callbackdo objeto.

    Controle deslizante (slider)

    Sliders costumam ser utilizados paraselecionar um valor em um intervalode valores. Cada mudana de valorexecuta a ao definida no callbackdoobjeto.

    Boto de rdio (radio button)

    O boto de rdio um tipo de boto dechave, que contm um rtulo e umcrculo ao lado deste rtulo. Quandoselecionado, o crculo preenchido.Botes de rdio costumam serutilizados para selecionar uma entreum grupo mutuamente exclusivo deopes. Cada clique em um boto derdio executa o callbackdefinido parao objeto.

    Caixa de controle (check box)

    Estas caixas consistem em botes comum rtulo e uma caixa quadrada aolado deste rtulo. Quando ativado, ocontrole alterna entre preenchido elimpo.As caixas de controle costumam serusadas para indicar o estado de umaopo, ou selecionar vrias opesno-exclusivas. Cada clique em umboto de rdio executa o callback

    definido.

  • 8/6/2019 Interface Grafica Matlab

    9/25

    6

    Controles grficos

    Caixa de edio (edit text)

    Exibe texto em uma caixa, de formaque este texto possa ser editado ousubstitudo. Quando o usurio

    pressiona o boto Enter, o callbackdefinido executado.

    Menu popup (pop-up menu)

    So teis para apresentar uma lista deescolhas mutuamente exclusivas aousurio.Estes menus podem ser colocados emqualquer lugar da janela principal.

    Caixa de listagem (listbox)

    Parecem caixas de texto de mltiplaslinhas que permitem que os usuriosselecionem itens individuais oumltiplos de uma lista com um cliquedo mouse.O callbackdefinido executadoquando um valor da caixa selecionado.

    Boto de chave (toggle button)

    Os botes de chave so idnticos aosbotes simples, exceto pelo fato dealternarem entre dois estados(pressionado e no pressionado).Como nopushbutton, cada clique domouse executa o callbackdefinido.

    Elementos estticos

    Eixos (axes)Os eixos criam um conjunto paraexibio de dados. Para os eixosNUNCA so definidos callbacks.

    Rtulo de texto (static text)

    O rtulo de texto cria uma rea paraexibio de um conjunto de caracteres.Nestes rtulos podem ser exibidosdados coletados, por exemplo, de umaedit text, ou resultados de operaes.Contudo, como para os axes, no sodefinidos callbacks para os rtulos de

    texto.

  • 8/6/2019 Interface Grafica Matlab

    10/25

    7

    Elementos estticos

    Painel (panel)

    Painis, chamados deframes emalgumas verses do Matlab, so reasdestinadas a agrupar conjuntos de

    componentes. Tambm no geramcallbacks.

    Tabela 1. Descrio dos componentes mais usados na criao de uma GUI.

    Na Figura 4, como exemplo, temos uma GUI com todos esses componentes.

    Figura 4. Interface grfica com todos os componentes descritos na Tabela 1.

    Conhecendo estes componentes e utilizando-os convenientemente, estaremos aum passo da criao de GUIs teis e funcionais. Depois de projetar a GUI, bastaprogramar as aes de cada componente.

    Entretanto, algumas vezes interessante mudar a cor de fundo da janela, ou otipo de fonte de um rtulo de texto, entre outros aspectos da interface. Podemos fazerisso no Guide utilizando o inspetor de propriedades dos componentes.

    3.2. O inspetor de propriedades

    Se executarmos um clique duplo em qualquer um dos componentes no momentode criao da sua interface grfica no Guide, o inspetor de propriedades (Inspector;Property Inspector nas primeiras verses) acionado. Pode-se tambm clicar nocomponente em questo com o boto direito do mouse, e selecionar a opo Property

    Inspector, ou escolher View Property Inspector no menu do Guide. Na Figura 5,temos o inspetor de propriedades da interface grfica botaotexto, exibida na Figura 3.As propriedades apresentadas so referentes aopushbutton daquela GUI.

  • 8/6/2019 Interface Grafica Matlab

    11/25

    8

    Figura 5. O inspetor de propriedades do Guide. As propriedades exibidasreferem-se a umpushbutton.

    O inspetor de propriedades exibe as propriedades do objeto, e se alterarconforme outros objetos so clicados. Podemos alterar os valores das propriedades

    como necessrio.Na Tabela 2, dada abaixo, temos algumas propriedades compartilhadas pelamaioria dos componentes descritos na Tabela 1.

    Propriedade docomponente

    Descrio

    BackgroundColor

    Especifica a cor do plano de fundo do objeto. Existe um valorpredefinido, e outro valor pode ser escolhido diretamente em umapaleta de cores ou especificando-se valores numricos (HSB ou

    RGB).

    CallbackEspecifica o nome e os parmetros da funo a ser chamadaquando o objeto ativado.

    Enable

    Especifica se o objeto pode ser selecionado ou no. Se o objetoem questo no est habilitado, ele no responder ao clique domouse ou a entrada de dados do teclado. Possveis valores soon, off e (em verses mais recentes) inactive.

  • 8/6/2019 Interface Grafica Matlab

    12/25

    9

    Propriedade docomponente

    Descrio

    FontAngle

    Um conjunto de caracteres contendo o ngulo da fonte do texto

    exibido no objeto. Valores possveis so normal, italic eoblique.

    FontNameUm conjunto de caracteres contendo o nome da fonte do textoexibido no objeto.

    FontSizeUm nmero que especifica o tamanho da fonte exibida no objeto.O tamanho da fonte especificado em pontos, por padro.

    FontWeightUm conjunto de caracteres contendo a espessura da fonte exibidano objeto. Valores possveis so light, normal, demi, ebold.

    ForegroundColorEspecifica a cor do plano da frente do objeto. Da mesma formaque paraBackgroundColor, outro valor pode ser escolhido poruma paleta de cores ou com valores numricos.

    HorizontalAlignmentEspecifica o alinhamento horizontal do texto contido no objeto.Possveis valores so left, center e right.

    Max O valor mximo da propriedade Value do objeto.

    Min O valor mnimo da propriedade Value do objeto.

    Position

    Especifica a posio do objeto na tela, nas unidades especificadaspela propriedade Units. Esta propriedade constitui de um vetor de4 elementos, no qual os dois primeiros elementos so as posies

    x ey da borda inferior esquerda do componente (relativos janelaque contm o objeto), e os ltimos so a largura (width) e aaltura (height) do componente.

    Tag

    O nome do objeto. Em qualquer funo pertencente GUI,quando quisermos nos referir a um componente qualquer,usaremos o nome dado em Tag para este objeto.

  • 8/6/2019 Interface Grafica Matlab

    13/25

    10

    Propriedade docomponente

    Descrio

    TooltipStringEspecifica o texto de ajuda que ser exibido quando o usurio

    deixa o ponteiro do mouse por determinado tempo sobre o objeto.

    Units

    As unidades usadas para descrever a posio da janela e de seuscomponentes. Possveis valores so inches, centimeters,normalized, points, pixels ou characters. O valor padroem verses mais recentes characters; em verses anterioreseste valor pixels.

    Value

    O valor atual do componente. Para botes de chave, caixas de

    controle e botes de rdio, o valor max quando o boto estativado e min se o boto est desativado. Outros controlespossuem significados diferentes para este termo.

    VisibleEspecifica se o objeto est ou no visvel. Os possveis valoresso on e off.

    Tabela 2. Propriedades comuns maioria dos componentes dados pelo Guide.

    Conhecendo estas propriedades, podemos comear a customizar a aparncia dainterface grfica.

  • 8/6/2019 Interface Grafica Matlab

    14/25

    11

    4. Criando e modificando menus

    4.1. A criao de menus e submenus no Guide

    Menus podem tambm ser adicionados s interfaces grficas criadas no Guide.Eles so teis quando queremos disponibilizar opes que no so necessrias em todoo momento de execuo, ou adicionar funes que so utilizadas com pouca frequncia.

    H dois tipos de menus disponveis no Guide: os menus padro (standard), quese situam na barra de menus, no topo de uma janela, e os menus de contexto, queaparecem quando o usurio clica com o boto direito sobre um determinado objeto.

    O Guide possui uma ferramenta para edio de menus, o Menu Editor. Paraacion-lo, podemos ir para Tools Menu Editor, ou simplesmente clicar no cone queexibe um menu. Este cone mostrado na Figura 6, juntamente com o Menu Editor.

    Figura 6. O manipulador de menus do Guide,Menu Editor.

    A Figura 7 mostra exemplos de menus padro no Menu Editor, e a interfacegrfica com um menu de contexto ativado. importante saber que, para os menus decontexto trabalharem da maneira esperada, devemos alterar a propriedadeUIContextMenu do componente ao qual queremos associar tal menu.

  • 8/6/2019 Interface Grafica Matlab

    15/25

    12

    Figura 7. Menus padro e de contexto criados noMenu Editor.

    Depois de construdos, podemos trabalhar com algumas propriedades dos menus,a fim de deixar a interface ainda mais intuitiva.

    4.2. Propriedades dos menus

    Alguns recursos de interesse na personalizao de menus so as caixasseparator above this item, que quando selecionada mostra uma barra que separa ossubitens do menu acima do submenu relacionado, e check mark this item , que quandomarcada mostra o subitem correspondente selecionado com uma marcao. Na Figura 8,exemplos das duas opes na GUI botaotexto e onde encontr-las noMenu Editor.

    Figura 8. As opes separator above this item e check mark this itemselecionadas para o subitem 2, e a interface grfica resultante.

  • 8/6/2019 Interface Grafica Matlab

    16/25

    13

    Quando lidamos com menus, comum observarmos a presena de atalhos queaparecem na forma de letras sublinhadas. As letras mnemnicas, como so chamadas,servem para agilizar o acesso ao menu. Para utiliz-las, pressionamos ALT e a letracorrespondente ao item de menu que desejamos acionar.

    Para implementar a funcionalidade das letras mnemnicas no Menu Editor do

    Guide, simplesmente colocamos o caractere & imediatamente antes da letra desejada.Por exemplo, na interface exibida na Figura 8, se quisermos que o menu Item 2 tenhacomo atalho a combinao ALT + T, escrevemos I&tem 2 na propriedade Label do

    Menu Editor. Note que, em tempo de execuo, o atalho apenas aparecer quandopressionarmos ALT. Na Figura 9, temos o exemplo descrito acima na GUIbotaotexto.

    Figura 9. Exemplo de interface grfica com uma letra mnemnica e acorrespondente entrada noMenu Editor.

  • 8/6/2019 Interface Grafica Matlab

    17/25

    14

    5. Exemplos, exemplos, exemplos

    Com todas as ferramentas adquiridas nas sees anteriores, chegamos na partemais interessante: programar!

    Exemplo 1:Trabalhando com a GUIbotaotexto

    Vamos relembrar a interface grfica de nome botaotexto, vista em execuona Figura 10.

    Figura 10. A GUI botaotexto, a ser utilizada no Exemplo 1.

    Neste exemplo, quando o boto Transfere for pressionado, o texto digitado nacaixa de edio edit1 ser copiado para o rtulo de texto text1.

    Para isso, o callbackdo botopushbutton1 dever conter os seguintescomandos:

    % --- Executes on button press in pushbutton1.

    function pushbutton1_Callback(hObject, eventdata, handles)

    % hObject handle to pushbutton1 (see GCBO)

    % eventdata reserved - to be defined in a future versionof MATLAB

    % handles structure with handles and user data (see

    GUIDATA)

    texto = get(handles.edit1,'String');

    set(handles.text1,'String',texto);

  • 8/6/2019 Interface Grafica Matlab

    18/25

    15

    Exemplo 2:Todos os botes de rdio esto selecionados?

    Os botes de rdio geralmente so exclusivos; ou seja, quando um clicado, osoutros relacionados quele so desativados. Isso no implementado automaticamente,o que requer esforo extra de nossa parte. Neste exemplo, veremos qual a programao

    necessria a fim de que este problema no acontea na nossa interface.Na Figura 11, a interface grfica ilustra o problema que gostaramos de evitar. Apropriedade String de radiobutton1, radiobutton2 e radiobutton3 foi alterada paraSim, No e Talvez, respectivamente.

    Figura 11. A GUI botaoradio, a ser utilizada no Exemplo 2.

    Editaremos os callbacks de radiobutton1 desta forma:% --- Executes on button press in radiobutton1.

    function radiobutton1_Callback(hObject, eventdata, handles)

    % hObject handle to radiobutton1 (see GCBO)

    % eventdata reserved - to be defined in a future version

    of MATLAB

    % handles structure with handles and user data (see

    GUIDATA)

    % Hint: get(hObject,'Value') returns toggle state of

    radiobutton1

    set(handles.radiobutton1,'Value',1);

    set(handles.radiobutton2,'Value',0);

    set(handles.radiobutton3,'Value',0);

    Por sua vez, os callbacks de radiobutton2 sero:

    % --- Executes on button press in radiobutton2.

    function radiobutton2_Callback(hObject, eventdata, handles)

    % hObject handle to radiobutton2 (see GCBO)

    % eventdata reserved - to be defined in a future versionof MATLAB

  • 8/6/2019 Interface Grafica Matlab

    19/25

    16

    % handles structure with handles and user data (see

    GUIDATA)

    % Hint: get(hObject,'Value') returns toggle state of

    radiobutton2

    set(handles.radiobutton1,'Value',0);

    set(handles.radiobutton2,'Value',1);

    set(handles.radiobutton3,'Value',0);

    E finalmente, os callbacks de radiobutton3:

    % --- Executes on button press in radiobutton3.

    function radiobutton3_Callback(hObject, eventdata, handles)

    % hObject handle to radiobutton3 (see GCBO)

    % eventdata reserved - to be defined in a future version

    of MATLAB% handles structure with handles and user data (see

    GUIDATA)

    % Hint: get(hObject,'Value') returns toggle state of

    radiobutton3

    set(handles.radiobutton1,'Value',0);

    set(handles.radiobutton2,'Value',0);

    set(handles.radiobutton3,'Value',1);

    Com isso, os botes de rdio sero selecionados um por vez.

  • 8/6/2019 Interface Grafica Matlab

    20/25

    17

    Exemplo 3:Um simples contador de cliques

    Continuando a interao de botes com outros objetos, agora teremos umcontador de cliques. A interface grfica deste contador dada abaixo, na Figura 12. Apropriedade String de text1 e de pushbutton1 foi alterada para Cliques: 0 e Clique

    aqui, respectivamente, e a propriedade FontSize dos dois objetos foi alterada para12.

    Figura 12. A GUI contaclique, a ser utilizada no Exemplo 3.

    Os callbacks depushbutton1 sero:

    % --- Executes on button press in pushbutton1.

    function pushbutton1_Callback(hObject, eventdata, handles)

    % hObject handle to pushbutton1 (see GCBO)

    % eventdata reserved - to be defined in a future version

    of MATLAB

    % handles structure with handles and user data (see

    GUIDATA)

    % Declara e inicializa a varivel para armazenar a contagem

    persistent contador

    if isempty(contador)

    contador = 0;

    end

    % Atualiza a contagem

    contador = contador + 1;

    % Cria o novo texto

    str = sprintf('Cliques: %d',contador);

    % Atualiza o rtulo de texto

    set(handles.text1,'String',str);

  • 8/6/2019 Interface Grafica Matlab

    21/25

    18

    Exemplo 4:Um slider ditando valores

    Neste exemplo, veremos como fazer para que um slidermostre valores entre umintervalo de nmeros em um rtulo de texto. A interface grfica a ser utilizada dada naFigura 13. A propriedade String de text1 foi modificada para 0.00, e a propriedade

    FontSize, para 16. As propriedades Min e Max de slider1 foram alteradas,respectivamente, para -10 e 10.

    Figura 12. A GUI valorslider, a ser utilizada no Exemplo 4.

    Para que a interface retorne os valores, os callbacks de slider1 sero:

    % --- Executes on slider movement.

    function slider1_Callback(hObject, eventdata, handles)

    % hObject handle to slider1 (see GCBO)

    % eventdata reserved - to be defined in a future version

    of MATLAB

    % handles structure with handles and user data (seeGUIDATA)

    % Hints: get(hObject,'Value') returns position of slider

    % get(hObject,'Min') and get(hObject,'Max') to

    determine range of slider

    % Encontra o valor do slider

    valor = get(handles.slider1,'Value');

    % Copia o valor no rtulo de texto

    str = sprintf('%.2f',valor);set(handles.text1,'String',str);

  • 8/6/2019 Interface Grafica Matlab

    22/25

    19

    Exemplo 5:Reinventando a roda com as caixas de dilogo

    O ltimo exemplo mostra as caixas de dilogo predefinidas pelo Matlab, que soprticas e facilmente utilizveis. A Tabela 3 exibe um resumo das caixas predefinidasmais comuns.

    Funo Descrio

    dialog Cria uma figura para caixa de dilogo ou GUI.

    errordlg Indica erro na caixa de dilogo.

    helpdlg Fornece ajuda pela caixa de dilogo.

    inputdlg Permite entrada de dados pela caixa de dilogo.

    listdlg Seleciona itens de uma lista pela caixa de dilogo.

    uigetfile Abre um arquivo em uma caixa de dilogo.

    uiputfile Armazena um arquivo em uma caixa de dilogo.

    uisetcolor Aplica a cor selecionada ao objeto grfico da caixa de dilogo.

    uisetfont Aplica a fonte selecionada ao objeto grfico da caixa de dilogo.

    warndlg Caixa de advertncia.

    Tabela 2. Propriedades comuns maioria dos componentes dados pelo Guide.

    Alguns exemplos da utilizao dos comandos para incorporar essas caixas dedilogo sua GUI:

    dialog:>> dialog

    errordlg:>> errordlg('String de erro', 'Nome da janela')

  • 8/6/2019 Interface Grafica Matlab

    23/25

    20

    helpdlg>> helpdlg('String de ajuda', 'Nome da janela')

    inputdlg:>> prompt = {'O tamanho da matriz para x^2:','Nome do

    mapa de cores:'};>> nome = 'Entrada para funo de picos';

    >> numlinhas = 1;

    >> resp = {'20','hsv'};

    >> resposta = inputdlg(prompt, nome, numlinhas, resp);

    listdlg>> d = dir;

    >> str = {d.name};

    >> listdlg('PromptString','Selecione um

    arquivo:','SelectionMode','single','ListString',str)

    uigetfile>> uigetfile({'*.m;*.fig;*.mat;*.mdl', 'Todos os

    arquivos MATLAB (*.m, *.fig, *.mat, *.mdl)'; '*.m',

    'Arquivos M (*.m)'; '*.fig','Figuras (*.fig)';

    '*.mat','Arquivos MAT (*.mat)'; '*.mdl','Modelos (*.mdl)';

    '*.*', 'Todos os arquivos (*.*)'}, 'Escolha um arquivo');

    uiputfile>> uiputfile({'*.m;*.fig;*.mat;*.mdl', ' Todos os

    arquivos MATLAB (*.m, *.fig, *.mat, *.mdl)'; '*.*', 'Todos

    os arquivos (*.*)'}, 'Salvar como');

    uisetcolor>> hText = text(.5,.5,'Sou muito feliz com o

    Matlab!');

    >> uisetcolor(hText, 'Cor do texto')

    uisetfont>> texto1 = uicontrol('style', 'text', 'string',

    'XxYyZz');

    >> uisetfont(texto1, 'Alterar Fonte');

    warndlg>> warndlg('String de aviso', 'Nome da janela')

  • 8/6/2019 Interface Grafica Matlab

    24/25

    21

    6. Para onde ir agora?

    Depois de aprender o bsico sobre interfaces grficas no Matlab, o que fazer?Sentar e chorar? No, no. Ficar tranqilo e se acomodar com o que sabe? Menos ainda!

    Mas quando voc comear a procurar e sentir a escassez de material pode surgir umdesnimo. Onde comeamos a procurar? Aqui, algumas dicas.

    A referncia mais natural pra procurarmos ajuda o site daMathWorks, Inc, aempresa criadora do Matlab. O site www.mathworks.com, e l, procure porAcademia.Destaque para o manual (que pode ser encontrado em PDF no site) Creating GraphicalUser Interfaces, de autoria da prpriaMathWorks.

    O verdadeiro pai dos burros da internet, talvez o site mais fantstico da rede,www.google.com.br. Procure por GUI Matlab, e gaste algum tempo consultando osmelhores resultados, como livros, apresentaes e apostilas.

    O site Sharp Programmerpossui, alm das sees voltadas para outras linguagens deprogramao, tambm uma seo voltada para as interfaces grficas no Matlab. Estaseo est em www.sharpprogrammer.com/matlab/matlab-gui-tutorials/.

    Fora da internet existem tambm timos materiais, que tratam da questo das GUIsde maneira mais aprofundada. As referncias bibliogrficas deste material so exemplosde bons livros.

  • 8/6/2019 Interface Grafica Matlab

    25/25