09 cwiczenie gui

background image

1

Graficzny system komunikacji

z użytkownikiem GUI

background image

2

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

c

e

b

e

a

y

x

x

)

sin(

)

cos(

background image

3

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

clf; clear all;

global a b c skala;

%parametry początkowe

a=1; b=1; c=1;

%początkowe wartości parametrów a, b, c

skala=1;

%początkowa wartość parametru skala

set(gcf,'Name','Wykres funkcji')

%zmiana własności obiektu figure

background image

4

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

%utworzenie listy rozwijalnej

Przel=uicontrol(gcf,'Style','popupmenu',...

'String','0.1|1|10',...

%etykieta listy

'Position',[420 7 70 17],...

%określenie położenia obiektu

'CallBack','przelicz');

%po uaktywnieniu elementu listy

%zostanie uruchomiony skrypt przelicz.m

background image

5

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

%utworzenie suwaka

Suwak=uicontrol('Style','slider');

%utworzenie suwaka

set(Suwak,'Position',[50 7 100 17]);

%określenie położenia suwaka

set(Suwak,'CallBack','ustaw');

%po uaktywnieniu suwaka zostanie

%uruchomiony skrypt ustaw.m

set(Suwak,'Min',0,'Max',1);

%ustawienie zakresów suwaka

set(Suwak,'Value',a);

%przypisanie początkowej wartości

%suwaka parametru a

background image

6

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

%utworzenie pola edycyjnego

Edit1=uicontrol('Style','edit');

%utworzenie pola edycyjnego

set(Edit1,'Position',[200 7 200 17]);

%określenie pola edycyjnego

set(Edit1,'String',['a = ',num2str(a)])

%określenie treści

%edytowanego tekstu

background image

7

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

%utworzenie menu

idm=uimenu('Label','Wy&kres');

%utworzenie elementu menu idm

uimenu(idm,'Label','&Funkcja','CallBack','wykres_f');

%utworzenie podmenu do elementu idm

%po uaktywnieniu uruchomiony zostanie

%skrypt wykres_f.m

uimenu(idm,'Label','&Czysc','CallBack','cla',...

'Separator','on');

%utworzenie podmenu do elementu idm

%po uaktywnieniu uruchomione zostanie

%polecenie cla, separator jest włączony

background image

8

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

Plik główny zapisać jako obiekty.m.

global a skala;

vall=get(Przel,'Value');

%odczytanie wartości z listy rozwijanej

if (vall==1)

%jeśli wybrano 1-wszą pozycję z listy

skala=0.1;

elseif (vall==2)

%jeśli wybrano 2-gą pozycję z listy

skala=1;

elseif (vall==3)

%jeśli wybrano 3-cią pozycję z listy

skala=10;

end

Plik, w którym następuje przeliczanie skali z listy, zapisać jako

przelicz.m.

background image

9

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

global a skala;

a1=get(Suwak,'Value')

%odczytanie bieżącej wartości

%ustawionej na suwaku

a=a1.*skala;

%przeliczenie nowej wartości parametru a

set(Edit1,'String',[' a= ',num2str(a)]);

%wyświetlenie nowej wartości a w oknie edycyjnym

Plik, w którym następuje zmiana wartości zmiennej a na
podstawie wskazań suwaka i listy, zapisać jako ustaw.m.

background image

10

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

global a b c skala

fplot('fsin3',[-2 2])

Plik, w którym następuje rysowanie funkcji fsin3, zapisać jako
wykres_f.m.

function y=fsin3(x)

global a b c

y=cos(a*exp(x))+sin(b*exp(x))+c;

Plik, w którym następuje obliczanie wartości funkcji f(x), zapisać
jako fsin3.m.

background image

11

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

background image

12

Graficzny system komunikacji GUI -

ćwiczenia

Ćwiczenie 1:

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

-1

-0.5

0

0.5

1

1.5

2

2.5

3

background image

13

Ćwiczenie 2:

Napisać M-plik:

generującą bryłę utworzoną z walca poprzez obrót
fragmentu sinusoidy (funkcja cylinder);

bryłę pokryć kolorową powierzchnią o skali kolorów
proporcjonalnej do wysokości (funkcja surf);

przyjąć

widok

bryły

odpowiadający

domyślnemu

położeniu oka obserwatora (kątowi kierunkowemu -
azymutowi a=-37.5º i kątowi wysokości - elewacji
e=30º);

użyć suwaka do zmiany kąta wysokości widzenia bryły i
pola tekstowego do zmiany skali osi z;

zastosować przycisk do wyświetlenia skali barw oraz
menu rozwijane do zmiany mapy kolorów powierzchni
pokrywającej bryłę.

Graficzny system komunikacji GUI -

ćwiczenia

background image

14

Ćwiczenie 2:

t=2/3:1/6:.7*pi;

y=sin(t);

[a,b,c]=cylinder(y);

hh=surf(a,b,c)

%identyfikator rysunku

%przyporządkowany zmiennej hh

[a,e]=view

%[kierunek wysokość] patrzenia na obiekt

%(kierunek 0-360, wysokość:+/-180),

%domyślnie [-37.5,30]

set(gcf,’Name’,’Przykład Handle Graphics’);

%zmiana nagłówka okna graficznego

Graficzny system komunikacji GUI -

ćwiczenia

background image

15

Ćwiczenie 2:

%utworzenie suwaka o identyfikatorze Vslider

%do zmian kąta wysokości obserwacji narysowanej bryły

Vslider=uicontrol(‘Style’,’slider’);

%przygotowanie

%suwaka

set(Vslider,’Units’,’normalized’);

%jednostka z

%zakresu 0..1

%określenie położenie i rozmiarów suwaka

%[xs ys szerokość długość]

set(Vslider,’Position’,[.01 .055 .05 .4]);

set(Vslider,’Min’,-180,’Max’,180);

%zakres zmian kąta

set(Vslider,’Callback’,’sliderE’);

%Callback

Graficzny system komunikacji GUI -

ćwiczenia

background image

16

Ćwiczenie 2:

% sliderE.m przetwarza położenie suwaka na wartość

% zadanej zmiennej

% utworzenie okna dialogowego o identyfikatorze Vedit

Vedit=uicontrol(‘Style’,’edit’);

%przygotowanie okna

set(Vedit,’Units’,’normalized’);

%jednostka

%z zakresu 0..1

% określenie położenia i rozmiarów okna

set(Vedit,’Position’,[.01 .01 .085 .04]);

set(Vedit,’String’,[num2str(e),’’]);

%wartość początkowa

%nastawy

Graficzny system komunikacji GUI -

ćwiczenia

background image

17

Ćwiczenie 2:

%utworzenie pola tekstowego o identyfikatorze editBox

%do wprowadzania zmian zakresu wartości dla osi Z

%(Zmax)

editBox=uicontrol(‘Style’,’edit’);

%przygotowanie okna

set(editBox,’Units’,’normalized’);

%jednostki z

%zakresu 0..1

%określenie położenia i rozmiarów okna

set(editBox,’Position’,[.01 .8 .05 .04]);

set(editBox,’String’,’1’);

%wartość początkowa

set(editBox,’CallBack’,’editZ’);

%CallBack

%editZ.m przetwarza tekst pola na wartość Zmax

Graficzny system komunikacji GUI -

ćwiczenia

background image

18

Ćwiczenie 2:

%utworzenie przycisku o identyfikatorze Rbutton

%do wyświetlenia skali barw

Rbutton=uicontrol(‘Style’,’radiobutton’);

set(Rbutton,’Units’,’normalized’);

%jednostki

%z zakresu 0..1

%określenie położenia i rozmiarów

set(Rbutton,’Position’,[.87 .94 .12 .045]);

set(Rbutton,’String’,’colbar’,’CallBack’,...

‘if get(Rbutton,’’Value’’)==1, colorbar, else,...

delete(colorbar), end’);

%CallBack

Graficzny system komunikacji GUI -

ćwiczenia

background image

19

Ćwiczenie 2:

%utworzenie menu rozwijalnego o identyfikatorze popcol

%dla zmiany mapy kolorów

popcol=uicontrol(gcf,’Style’,’popup’,...

‘Units’,’normalized’,...

‘String’,’hsv|cool|gray|hot’,...

‘Position’,[.14 .95 .13 .06],...

‘CallBack’,’popme’);

%CallBack

W rezultacie zostaje wyświetlone okno rysunkowe, w skład
którego wchodzą obiekty graficzne o identyfikatorach: hh,
Vslider, Vedit, editBox, Rbutton, popcol.

Cecha

Tooltipstring

pozwala

na

określenie

napisu

wyświetlanego po wskazaniu danego obiektu myszą.

Graficzny system komunikacji GUI -

ćwiczenia

background image

20

Cecha CallBack obiektów Uicontrol i Uimenu zapisywana jest

jako łańcuch znaków i może być:

dowolnym wyrażenie programu MATLAB;
nazwą M-pliku (skryptu) lub funkcji.

Po uaktywnieniu obiektu Uicontrol lub Uimenu następuje

wykonanie operacji występujących w łańcuchu znaków cechy

CallBack.
Przykłady użycia cechy CallBack:

set(Vslider,’Callback’,’sliderE’);

%do sliderE.m

set(editBox,’CallBack’,’editZ’);

%do editZ.m

set(Rbutton,’Position’,[.87 .94 .12 .045]);
set(Rbutton,’String’,’colbar’,’CallBack’,...

%polecenia

‘if get(Rbutton,’’Value’’)==1, colorbar, else,...
delete(colorbar), end’);

Cecha CallBack

background image

21

popcol=uicontrol(gcf,’Style’,’popup’,...

......................

‘CallBack’,’popme’);

%do popme.m

Cecha CallBack powoduje śledzenie elementów sterujących GUI
(suwak Vslider, pole tekstowe editBox, przycisk Rbutton,
menu rozwijalne popcol). Zmiana położenia suwaka, wpisanie
nowej wartości do pola tekstowego, wybranie opcji menu lub
wciśnięcie

przycisku

powoduje

przerwanie

programu

i

automatyczne

wywołanie

programu

obsługi

przerwania

wskazanego przez cechę CallBack.

Cecha CallBack

background image

22

Plik sliderE.m:

%sliderE - określa nowy kąt wysokości z

%

stawienia suwaka

new_e=get(Vslider,’Value’);

%wyświetlenie wartości nastawionej suwakiem w polu

%tekstowym Vedit

set(Vedit,’String’,[num2Str(new_e),’’]);

%ustawienie widoku pod nowym kątem wysokości [a,new_e]

view(a,new_e)

Cecha CallBack

background image

23

Plik editZ.m:

%editZ –

przetwarza tekst wpisany w okno dialogowe

%

na wartość

newZ=str2num(get(editBox,’String’));

set(gca,’Zlim’,[0,newZ]);

%nowe wartości skalowania osi z

Cecha CallBack

background image

24

Plik popme.m:

%popme –

wybiera z menu wskazane mapy kolorów

val=get(popcol,’Value’);

if (val==1),

colormap(hsv)

elseif (val==2),

colormap(cool)

elseif (val==3),

colormap(gray)

elseif (val==4),

colormap(hot)

end;

Cecha CallBack

background image

25

Wykorzystano skrypt colormenu.m zawierający menu z 16
mapami kolorów oraz opcjami help, remember, restore i done.
Menu jest obiektem Uimenu i można je zainstalować przy
pomocy polecenia:

»

colormenu

Menu zostaje wyświetlone w bieżącym oknie rysunkowym jako
colormaps.

Cecha CallBack

background image

26

Graficzny system komunikacji GUI -

ćwiczenia

background image

27

Graficzny system komunikacji GUI -

ćwiczenia

-1

-0.5

0

0.5

1

-1

-0.5

0

0.5

1

0

0.2

0.4

0.6

0.8

1

background image

28

Graficzny system komunikacji GUI -

ćwiczenia

background image

29

Graficzny system komunikacji GUI -

ćwiczenia

background image

30

Graficzny system komunikacji GUI -

ćwiczenia

background image

31

Graficzny system komunikacji GUI -

ćwiczenia

background image

32

Dziękuję za uwagę


Document Outline


Wyszukiwarka

Podobne podstrony:
09 Cwiczenie6 7
09 Cwiczenie6 7
Ćwiczenie 09, Ćwiczenie 09
2010 09 Ćwiczenie 4 Korektor barwy dźwięku
09. Cwiczenia czynno- bierne, Kinezyterapia
09 cwiczenie 9
1985 09 Z ćwiczeń do boju
09, ĆWICZENIE NR 12, ĆWICZENIE NR 12
09 Cwiczenie19
09 Cwiczenie19
09 Cwiczenie6 7
Cwiczenie 09 Probne obciazenie id 125080
09 Zestaw ćwiczeń gimnastycznych, zabawy i ćwiczenia gimnastyczne
2009-09-20 Inf- ćwiczenia 1, 5 rok, 1 semestr, informatyka
Ćwiczenia 5 POSTĘPOWANIE SĄDOWE (12 11 09)

więcej podobnych podstron