Matlab GUI

July 26, 2018 | Author: miudofb | Category: Matlab, Graphical User Interfaces, Window (Computing), Data, Areas Of Computer Science
Share Embed Donate


Short Description

Interface grafica GUI...

Description

Matlab 7.0 Guide

UFPa Grupo: GDIME Aluno: Jouberson Leônidas Prof: Abdon Tapía

Introdução O Matlab possui uma ferramenta que permite construir interfaces gráficas de interação com o utilizador. O utilitário GUI são interfaces amigáveis para o utilizador e durante o projeto prático. Para construir uma interface gráfica convém ter uma idéia muito bem definida do que se pretende. Eis alguns exemplos:

Criando uma Gui Neste primeiro momento, cabe apresentar o espaço do Matlab destinado à construção de uma interface gráfica, ou seja, uma Gui. É acessado do menu new gui.

Dê um clic em OK para abrir um utilizador em branco para a criação da gui, ou digite “guide” na janela de comando do matlab. Com o utilizador você poderá fazer um desenho de seu programa utilizando as ferramentas a direita da janela do utilizador.

A barra para construção dá ao usuário o material necessário para construir a cara da interface gráfica.

Ferramentas do programa Logo abaixo estão algumas ferramentas que serão utilizadas nas inte interf rfac aces es gráf gráfic icas as ; Edit text

O edit text é utilizado para a entrada de dados na gui, onde o mesmo pode ser armazenado em uma variável.

Pop-up-menu

List box

O Pop-up-menu e a List box servem para listar dados amostrais, embora sejam diferentes as séries de comandos para utilizá-los é bem semelhante. Sendo a lista a coluna de uma matriz criada pelo usuário. Push button

O Push button é uma botão onde sua ação será determinada de acordo com a necessidade do usuário, onde ao clicá-lo produz a ação do programa.

Toggle button

O Toggle button é um botão que pode realizar duas funções, uma quando está ativado e outra quando está desativado. Ele possui o seu valor  igual a 1 quando ligado e 0 quando desligado. Ex: if x==1 grid on else x==0 grid off  end

Radio buttons

O radio button é utilizado como um marcador, onde seu valor também varia de zero a um. Quando selecionado seu valor é igual a 1, e quando não está selecionado seu valor é 0, funciona de maneira semelhante ao Toggle button. Slider 

O Slider funciona como um controlador, onde seus valores podem variar  de acordo com a necessidade do programador. O programador pode escolher  o intervalo que ele pode variar, veremos isso mais adiante em Property  inspector, onde é ai que pode ser mudada todas as suas propriedades.

Text

O Text serve para apresentar dados e textos produzidos pelo usuário, também é possível inserir  em uma variável o que está escrito nele.

Propriedades(Property Inspector ) Todos os elementos Gui possuem tais propiedades como tamanho, cor, posição, Tag(nome), style(tipo de elemento), fonte, tamanho da fonte, string(nome de exibição), Callback(função do botão), entre outros. Os quais estes são os principais.

Callback  O callback é o que chamamos de função de um botão, o

qual executa uma ação ao ser selecionado. Podemos direcionar a ação de um botão alterando o seu callback de sua propriedade. Enable  É como um (liga/ desliga), para as ferramentas. Style  É o estilo da ferramenta, fala se é um push button, edit text,  pop-up-menu, slider, etc.... String  É o texto apresentado na interface da ferramenta. i remos nos referir a Tag  É exatamente o nome da ferramenta, e como iremos ela ao programá-la. Max  O valor máximo que a ferramenta pode ter, muito útil para programar slider. Min  O valor mínimo que a ferramenta pode ter,também muito útil para programar slider.

f erramenta está [Xmin, Ymin, Position  É a posição onde a ferramenta

Xmax,Ymax].

Construção de uma Gui Após montar o programa utilizando os recursos computacionais citados acima, podemos ativar a interface, basta apertar Ctrl+T, ou aperte um botão verde em formato de play na parte superior da janela. Quando a janela de um interface gráfico é ativada, o Matlab cria automaticamente uma função (M-file) com o código necessário para gerar a Estrutura de dados de todos os componentes e respectivas propriedades que constituem a interface, através de uma sequência de instruções que aparecem no início da função e não devem ser alteradas. Comando get e set  O comando “get” serve para a entrada de

dados, seja ele um número ou um nome. O comando “set” tem a finalidade f inalidade de apenas exibir dados obtidos ou gerados no programa em qualquer elemento gui programado. Ex 1: Variável=get(handles.edit1, ‘string’); set(handles.text1, ‘string’,Variavel) Ex 2: Toda interface criada gera um M-file correspondente as ferramentas utilizadas. Então fazendo o desenho do programa abaixo utilizando um text , um edit text e um push button, digite os comandos abaixo no M-file gerado pela interface na parte que corresponde a ação no botão (callback). Confira se no Tag  correspondentes aos comandos é o mesmo da interface, pelo contrário ao rodar o programa dará erro.

Alguns exemplos Exemplo 1: O comando str2num serve para converter o valor string em um valor  numérico, e num2str o contrário.

Lembrando: O Tag do M-file deve ser correspondente a ferramenta usada na interface. Os comandos devem ser digitados no M-file da interface abaixo da parte correspondente ao callback do botão.

Exemplo 2

Repare que cara radio button tem seu callback , então a lógica é a seguinte: Quando o usuário seleciona um radio button o mesmo é marcado e automaticamente automaticamente os dois restantes não são marcados. Logo: function radiobutton1_callback(hObject, eventdata, handles) set(handles.radionbutton1,’value’,1); set(handles.radionbutton2,’value’,0); set(handles.radionbutton3,’value’,0); Obs: o valor do Radio button pode ser colocado em uma variável e

utilizado como condição para ações futuras de determinado programa.

Exemplo 3:

Este exemplo exemplo mostra mostra a utilidade do Slider , onde o seu intervalo pode ser alterado de acordo com a necessidade do programador no Propert  Inspector  em max e min. A lógica do programa é a seguinte: De acordo que o Slider corre o valor  contido em seu intervalo aumenta, onde no fim do Slider é seu valor máximo. Logo o valor selecionado é colocado em uma variável e depois apresentada em um text.

O axes faz parte das ferramentas utilizadas para a construção de uma gui, o programador pode inserir vários gráficos ao mesmo tempo, mas para se referir a cada axes basta digitar handle(handles.axes(num handle(handles.axes(numero ero do axes)), no M-file gerado pela interface.

Como usar uma listbox 

Uma das dificuldades mais freqüentes dos iniciantes em interface gráfica é entender a lógica dos programas, na verdade quando o usuário aprende como o programa se comporta, se torna mais fácil reproduzi-lo. O que se precisa saber para usar uma listbox é; 1 A listbox apresenta dados armazenado em matrizes, ou seja apresentando uma coluna de matriz. 2  Armazenar dados em uma matriz. 3  Gerar um banco de dados.

Criando uma lista 1°passo Inicialmente abra o matlab, abra a parte que corresponde a interface gráfica. Faça o diagrama abaixo no utilizador. Apague as strings do edit e da listbox, faça isso indo em suas respectivas propriedades ( property  property inspector).

2°passo Agora é necessário criar  um contador para que possamos listas os dados e armazena-los em uma matriz. Abra um novo arquivo-M (M-file) e digite os seguintes comandos: function iniciar() n=1; save banco_de dados

que fica após o comando function.

Após digitar o comando salve o M-file com o nome

3° passo Abra um novo M-file e digite os seguintes comandos: function gera_contagem() load banco_de_dados n=n+1; x=findobj('tag','edit1'); xa=get(x,'string'); tabela(n,1)={n}; tabela(n,2)={xa}; lista=findobj('tag','listbox1'); set(lista,'string',tabela(:,2)); save banco_de_dados

Depois salve o arquivo com o nome que está após o comando function.

4° Passo Vá para o utilizador, abra a propriedade do botão como mostra a figura:

Na propriedade em callback digite o nome o M-file que se deseja executar ao selecionar o botão, no caso gera_contagem. E no Create Fcn você digita o nome do M-file que se deseja ser executado logo quando o programa abrir, no caso iniciar .

FIM

O comando findobj funciona como o input , mas com findobj o programador precisa direcionar para onde vai o comando. Ex: x=findobj('tag','edit1'); xa=get(x,'string');

Neste caso o commando foi direcionado para seu o edit1, onde depois foi armazenado em uma variável. A variável xa só fez armazenar em uma variável o que já estava em x no formato string .

Construindo painéis para interface

Nas interfaces gráficas no matlab é possível gerar painéis que ficam na parte superior da janela do programa. O programador pode colocar nesses painéis botões como “Arquivo”, ”Editar”, ”Inserir”, ”Formatar”, “Ajuda”. Na parte superior da janela j anela do utilizador tem um botão chamado Menu  Editor .

Ao entrar no Menu Editor o usuário poderá criar um painel para sua gui, é lógico que depois terá que programar suas funções, seus Callbacks são automaticamente automaticamente direcionados para o M-file gerado pela interface, mas podem ser redirecionados pelo Menu Editor, onde mostra o Callback de cada item no painel.

Abrir e salvar arquivos O usuário pode abrir e gerar  executáveis em sua interface, após usar os comandos abaixo, depois terá de programa-los.

Abrir 

[filename,pathname] [filename,pathname] = uigetfile('*.m','UIGET uigetfile('*.m','UIGETFILE FILE TITLE');

Salvar 

[filename,pathname] [filename,pathname] = uiputfile('Default.m','UIP uiputfile('Default.m','UIPUTFILE UTFILE TITLE');

Ferramentas Ferramentas úteis button = questdlg('Deseja fechar o programa?', programa?', ... 'Saida','Yes','No','No'); switch button case 'Yes', close case 'No', return end

msgbox('Erro da mensagem','Erro','help' mensagem','Err o','help'); );

msgbox('Erro da mensagem','Erro','warn');

msgbox('Erro da mensagem','Erro','help mensagem','Er ro','help'); ');

answers = inputdlg({'1°pergunta',... inputdlg({'1°pergunta',... '2°pergunta',... '3°pergunta',},... 'nome da janela');

uisetfont(object_handles)

uisetfcolor(object_handles)

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF