Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
36. Uchwyty (handless) Każdy element graficzny wyświetlony w oknie wykresu ma swój uchwyt. Wykorzystując uchwyty możemy mieć dostęp do wszystkich elementów okna graficznego. W celu uzyskania głównych uchwytów stosujemy funkcję findobj. plot(1:11,‘*:') h = findobj; >>h = Przykład
36. Uchwyty (handless) >> get(h,'type') ans = 'root' 'figure' 'axes' 'line' Przykład cd. Możemy również wywołać w bardziej zrozumiałej składni:
Ustawienia parametrów graficznych - funkcja set Mając uchwyt do danego elementu graficznego możemy zmienić jego parametry. W tym celu korzystamy z funkcji set(uchwyt, parametr,'wartość) >> set(h(4), 'Marker', ‘o', 'MarkerSize', 20) Przykład
Pobieranie parametrów graficznych - funkcja get Mając uchwyt do danego elementu graficznego możemy sprawdzić jego parametry. W tym celu korzystamy z funkcji get(uchwyt, parametr) >> get(h(4), 'Marker') Przykład
Inne funkcje związane z grafiką uchwytów -przykłady
37. Graficzny system komunikacji z użytkownikiem (GUI) Koncepcja graficznego systemu polega na realizacji dwóch zasad: - budowaniu wyglądu aplikacji ze standardowych elementów graficznych o prostym wyglądzie; -tworzeniu aplikacji o działaniu sterowanym zdarzeniami; Pierwsza zasada realizowana jest przez wykorzystanie elementów takich jak przyciski, suwaki itp. druga, poprzez przypisanie do każdego z tych elementów procedury, która wykona odpowiednie zadanie związane z tym elementem. GUI (ang. Graphical User Interface, GUI) pozwala dodać do grafiki Matlaba interaktywność, czyli możliwość reagowania na polecenia użytkownika. W Matlabie mamy do dyspozycji m.in.. przyciski, przełączniki, listy itd.
Dostępne elementy komunikacji: przycisk (pushbutton) przełącznik (togglebutton) pole edycyjne (edit) pole wyboru z możliwością wyboru kilku opcji (checkbox) pole wyboru z możliwością wyboru tylko jednej opcji (radiobutton) ramka (frame) pole tekstowe (text) lista (listbox) lista rozwijana (popupmenu) suwak (slider)
Hierarchia obiektów graficznych w systemie.
Tworzenie obiektów GUI. Do tworzenia obiektów GUI typu przycisk służy funkcja uicontrol. Może mieć dwa różne wywołania: id = uicontrol( własność, wartość,...) id = uicontrol( idf, własność, wartość,...) Do tworzenia elementów menu mamy funkcję: id = uimenu( własność, wartość,...) id = uimenu( idf, własność, wartość,...) idf - idf - identyfikator przodka w obrębie którego będzie tworzony obiekt id - jest identyfikator tworzonego obiektu.
Tworzenie menu
Przyciski – funkcja uimenu handle = uimenu('PropertyName',PropertyValue,...) handle = uimenu(parent,'PropertyName',PropertyValue,...) Składnia (Matlab help) f = uimenu('Label','Workspace'); uimenu(f,'Label','New Figure','Callback','figure'); uimenu(f,'Label','Save','Callback','save'); uimenu(f,'Label','Quit','Callback','exit',... 'Separator','on','Accelerator','Q'); Przykład
Własności obiektów uimenu.
Przykład
Przykład
Przykład – funkcja makemenu
Tworzenie obiektów interfejsu użytkownika w GUI
Przyciski – funkcja uicontrol handle = uicontrol('PropertyName',PropertyValue,...) handle = uicontrol(parent,'PropertyName',PropertyValue,...) Przykład Składnia (Matlab help)
Własności obiektów uicontrol.
38. Wbudowane standardowe okienka - inputdlg Ilość linii zwiększa ilość wyświetlanych linii w polach edycyjnych okienka. Wartości domyślne zatwierdzamy przyciskiem OK. Jest to tablica komórkowa, więc aby skorzystać z jej zawartości trzeba się odpowiednio odwołać. Jeśli wciśniemy klawisz Cancel, wynikiem także będzie tablica komórkowa, ale o rozmiarze 0x0.
38. Wbudowane standardowe okienka - helpdlg
38. Wbudowane standardowe okienka Wbudowane standardowe okienka - msgbox
39. Wbudowane standardowe okienka 39. Wbudowane standardowe okienka - axlimdlg Okienko służy do zmiany rodzaju i skali osi współrzędnych. Wywołanie to sama nazwa: axlimdlg lub axlimdlg('Tytuł',[1 1],str2mat('Zakres x','Zakres y'))
39. Wbudowane standardowe okienka 39. Wbudowane standardowe okienka - uiputfile Funkcja ta wyświetla okienko umożliwiające wprowadzenie nowej nazwy pliku i ścieżki dostępu w celu zapisania pliku pod podaną nazwą. [nazwa_pliku, sciezka]=uiputfile('matlab.m','Zapisz jako') W takim wywołaniu podajemy domyślną nazwę pliku i nazwę okienka.
39. Wbudowane standardowe okienka 39. Wbudowane standardowe okienka - uiputfile Możemy podać szablon nazw wyświetlanych na liście plików. [nazwa_pliku, sciezka]=uiputfile({'*.jpg','grafika (*.jpg)';... '*.m;*.fig;*.mat;*.mdl' ;... 'Pliki Matlaba (*.m, *.fig, *.mat, *.mdl)';... '*.ja','moje wlasne rozszerzenie (*.ja)'},... 'Zapisz jako') nazwa_pliku = kkkkk.jpg sciezka = C:\Tools\matlabR12\work\
40. Wbudowane standardowe okienka 40. Wbudowane standardowe okienka - uigetfile To okienko umożliwia wybór istniejącego pliku. [nazwa_pliku, sciezka] = uigetfile('*.txt', 'Otwórz plik')
41. Wbudowane standardowe okienka - uisetcolor Okienko dialogowe umożliwiające wybór koloru w standardzie RGB. Funkcja zwraca wektor koloru w standardzie RGB. Wywołanie: nazwa funkcji, dodatkowo możemy podać argumenty identyfikator obiektu, dla którego mamy zmienić kolor, oraz tytuł wyświetlanego okienka. >> k=uisetcolor('Koloooory') k =
42. Wbudowane standardowe okienka - uisetfont. Funkcja wyświetla okienko umożliwiające zmianę czcionki. Jako argumenty podajemy identyfikator obiektu typu text lub axes, oraz tytuł wyświetlanego okienka. Funkcja zwróci strukturę zmienionej czcionki. Oba parametry funkcji są opcjonalne. uisetfont('Zmieniamy czcionkę') ans = FontName: 'Briquet' FontUnits: 'points' FontSize: 20 FontWeight: 'normal' FontAngle: 'normal'
Eksploracja danych - nazewnictwo