Matlab - tworzenie graficznego interfejsu użytkownika GUI - Graphic User Interface

Podobne dokumenty
MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

PODSTAWY TWORZENIA WYKRESÓW ORAZ HANDLE GRAPHICS

Wprowadzenie do programowania obiektowego

Kier. MTR Programowanie w MATLABie Laboratorium

Ćwiczenie 6. Matlab formularze, komponenty

Ćwiczenie 7. Matlab formularze, komponenty

Interfejs graficzny Matlaba

Wykresy i obiekty graficzne w Matlabie

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Aplikacje geodezyjne

Wykresy. Wykresy i grafika w Matlabie 11/4/2013. sin(θ ) Wykresy 2D Wykresy 3D Animacje i filmy Tworzenie interfejsu uŝytkownika GUI

Laboratorium MATLA/MTL

Wstęp do GUI w Matlabie.

Zadanie 8. Dołączanie obiektów

Laboratorium MATLA. Ćwiczenie 5. Elementy programowania obiektowego. Graficzny Interfejs Użytkownika (GUI)

4. Macierze i podstawy działań na macierzach

Arkusze kalkulacyjne i VBA

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Temat: Organizacja skoroszytów i arkuszy

Programowanie w środowisku graficznym GUI

Dodawanie grafiki i obiektów

Formatowanie tekstu za pomocą zdefiniowanych stylów. Włączanie okna stylów. 1. zaznaczyć tekst, który chcemy formatować

5.4. Tworzymy formularze

Makra Access 2003 wg WSiP Wyszukiwanie, selekcjonowanie i gromadzenie informacji Ewa Mirecka

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Tworzenie bazy danych na przykładzie Access

Metodyka wykonania kartogramu z podziałem na klasy wg punktów charakterystycznych wraz z opracowaniem kartogramicznej legendy.

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Informatyka. Wykład 5. Witold Dyrka 16/04/2012

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

INTENSE PLATFORM Zmiany w wersji Wersja 7.2

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Ustalanie dostępu do plików - Windows XP Home/Professional

Programowanie Obiektowe GUI

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

Kadry Optivum, Płace Optivum

Komponent Formularz. Rys. 1. Strona programu Joomla - Rys. 2. Instalacja komponentu

MS Access formularze

Włączanie/wyłączanie paska menu

Zadanie 3. Praca z tabelami

Dodawanie stron do zakładek

Dodawanie stron do zakładek

Podstawowe kontrolki graficzne. Obsługa plików poprzez kontrolki

5.2. Pierwsze kroki z bazami danych

Informatyka II. Laboratorium Aplikacja okienkowa

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

za pomocą: definiujemy:

Inkscape. Warstwy w programie Inscape. Budowa palety - Warstwy. Ćwiczenie 2

Dodanie nowej formy do projektu polega na:

Wykład III. dr Artur Bartoszewski Wydział Nauczycielski, Kierunek Pedagogika Wprowadzenie do baz danych

Podstawy tworzenia prezentacji w programie Microsoft PowerPoint 2007

Tworzenie i modyfikowanie wykresów

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Edytor tekstu MS Word podstawy

1. Przypisy, indeks i spisy.

Tworzenie raportów. Ćwiczenie 1. Utwórz Autoraport przedstawiający tabelę Studenci

Plan lekcji Optivum. 1. W programie Plan lekcji Optivum otwórz plik z ułożonym planem lekcji.

Podręcznik użytkownika programu. Ceremonia 3.1

Laboratorium - Tworzenie partycji w Windows XP

UWAGA: poniższe procedury przygotowane zostały w oparciu o program HiTi PhotoDesiree 2 w wersji

e-wsparcie Barbara Muszko Aktualizacja Twojej witryny internetowej tak prosta, jak obsługa Worda

System obsługi wag suwnicowych

Laboratorium programowania urządzeń mobilnych

INSTRUKCJA OBSŁUGI PROGRAMU REJESTRACJI I AKWIZYCJI DANYCH REJESTRATOR 9.2

Zadanie 11. Przygotowanie publikacji do wydrukowania

1. Instalacja Programu

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Visual Basic for Applications. Formatki tworzenie,

BAZY DANYCH Formularze i raporty

Palety by CTI. Instrukcja

Instrukcja korzystania z konta pracownika na stronie www

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

Z. Rudnicki: WPROWADZENIE DO INFORMATYKI I PROGRAMOWANIA

Numerowanie obiektów (wzorów, rysunków, tabel, literatury)

Tablice, DataGridView

BAZY DANYCH Panel sterujący

Zadanie 1. Stosowanie stylów

Fawag Studio. Instrukcja obsługi

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Instrukcja obsługi funkcji specjalnych szablonu C01 v.1.0

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

3.4. Opis konfiguracji layoutów.

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012. Przygotowanie do druku

Delphi podstawy programowania. Środowisko Delphi

System Informatyczny CELAB. Terminy, alarmy

Skróty klawiaturowe w PowerPoint

Wprowadzenie do środowiska

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej

SPIS ILUSTRACJI, BIBLIOGRAFIA

Transkrypt:

Matlab - tworzenie graficznego interfejsu użytkownika GUI - Graphic User Interface Z.Rudnicki Sposoby wykorzystywania graficznych elementów dialogowych w programach Matlaba Generowanie elementów w oknie FIGURE poleceniami programu Wykorzystanie elementów tworzących własne okna dialogowe: UIGETFILE, INPUTDLG,... Rozmieszczanie elementów w oknie FIGURE z użyciem kreatora GUIDE 2 1

Generowanie elementów w oknie FIGURE poleceniami programu 3 Obiekty graficzne figure - okno graficzne uicontrol - element dialogowy axes - układ osi uimenu - menu użytkownika image - obraz line - linia (m.in. utworzona przez plot) patch - wielokąt surface - powierzchnia text - tekst light - źródło światła 4 2

Elementy sterujące uicontrol s Grupa obiektów uicontrol - to t.zw. "kontrolki czyli "elementy sterujące interfejsu użytkownika" (bo ui to user interface) a więc: przyciski, listy rozwijalne. i in. Polecenie: zm = uicontrol(f1, 'Naz_Cechy1', Wart1, 'Naz_Cechy2', Wart2,...) - tworzy kontrolkę w oknie o uchwycie F1 i nadaje jej określone cechy oraz zapamiętuje jej uchwyt w zmiennej zm. Typ kontrolki należy określić przy pomocy cechy Style, która może przyjąć jedną z wartości: 'pushbutton', 'togglebutton', 'radiobutton', 'checkbox', 'edit', 'text', 'slider', 'frame', 'listbox', 'popupmenu. 5 Typy kontrolek - cecha Style Typ obiektu uicontrol jest określony wartością cechy 'Style - jedną z następujących: 'PushButton' - przycisk, 'ToggleButton' - przełącznik, 'RadioButton' -przycisk wyboru jednego z wielu, 'CheckBox' -pole wyboru (wiele z wielu), 'Edit' -pole edycyjne do wpisywania lub zmiany treści, 'Text' -napis (etykieta tekstowa), 'Slider' -suwak, 'Frame' -ramka, 'Listbox' - lista, 'PopupMenu' -lista rozwijalna. Pominięcie cechy 'Style' to domyślne przyjęcie: 'PushButton'. 6 3

Ważniejsze cechy wybranych kontrolek Wartość cechy 'Style' Rodzaj kontrolki Ważne cechy i działanie pushbutton Przycisk set(uchwyt,'string', 'Napis na przycisku', 'Callback', 'Polecenie') - polecenie jest wykonywane po wciśnięciu przycisku myszką edit text Pole edycyjne do wpisywania lub zmiany treści Dowolny napis set(uchwyt,'string', ' tekst') wartość wpisaną w polu odczytamy przez: x = str2double(get(uchwyt, 'String')); set(uchwyt,'string', ' Napis') slider Suwak ustawiamy: set(uchwyt,'min', 'wart.min', 'Max', 'wart.maks') odczytujemy: x=get(uchwyt,'value'); popupmenu Lista rozwijalna definiujemy pozycje menu: set(uchwyt, 'String', ' opcja1 opcja2 opcja3'); odczytujemy: x=get(uchwyt,'value'); 7 Profil01.m - przykład programu z interfejsem graficznym - napisanego bez pomocy kreatora GUIDE L1 S1 A1 A2 PL1 8 4

Program do oglądania przekrojów obrazów c.d. % Profil01.m - to program do oglądania przekrojów obrazów % improfile(obraz, [Xp Xk], [Yp Yk]) - to funkcja przekroju clear; clc; [naz, dir]=uigetfile('*.bmp','wybierz plik obrazu do analizy'); A=imread([dir,naz]); % wczytuje obraz z pliku do macierzy A if isrgb(a), A=rgb2gray(A); end [Lw, Lk] = size(a); % rozmiary obrazu H=round(Lw/2); % rzedna pocz. linii przekroju %--------------------- F1=figure; % wyswietla okno grafczne set(f1,'position',[40 40 600 300]); % rozmiar i położenie figury F1 S1=uicontrol(gcf, 'Style','slider'); % definiuje suwak S1 set(s1,'position',[40 55 15 200]); % rozmiar i położenie suwaka S1 set(s1,'callback','ustaw'); % klikniecie wywołuje procedure USTAW set(s1,'min',1,'max',lw); % okreslenie zakresu suwaka set(s1,'value',h); % ustawienie pozycji suwaka %--------------- Y=improfile(A, [1 Lk], [H H]); % wyznacza przekrój obrazu A1=subplot(1,2,1); imshow(a); % w okienku A1: wyswietli obraz title(naz); L1=line([1 Lk],[H H]); % miejsce przekroju zaznaczone na obrazie A2=subplot(1,2,2); PL1=plot(Y); % w drugim okienku A2: wyswietli przekrój grid on; axis([0,lk, 0, 256]); title('przekrój poziomy'); xlabel('x'); ylabel('jasnosc'); 9 Procedura wywoływana kliknięciem suwaka c.d. % Ustaw.m % Podprogram ten jest wywoływany kliknieciem suwaka S1 H = get(s1,'value'); % odczyt położenia suwaka S1 % --- Nowa linia pozioma na obrazie: set(l1, 'XData',[1 Lk],'YData',[Lw-H Lw-H]); % --- Nowy wykres przekroju: Y=improfile(A, [1 Lk], [Lw-H Lw-H]); set(pl1, 'XData', 1:Lk-1,'YData',Y); 10 5

Wykorzystanie elementów tworzących własne okna dialogowe: UIGETFILE, INPUTDLG,... 11 Elementy tworzące własne okienka dialogowe można generować przy pomocy funkcji: inputdlg - wyświetla okno z polami edycyjnymi do wprowadzania danych, listdlg - wyświetla listę opcji do wyboru, msgbox - wyświetla okienko z komunikatem, printdlg - wyświetla okno do ustalania parametrów wydruku, printpreview - wyświetla okno z podglądem wydruku, questdlg - wyświetla okno z pytaniem i trzema przyciskami odpowiedzi, uigetdir - wyświetla okno do wyboru dysku i folderu, uigetfile - wyświetla standardowe okno otwierania plików, uiputfile - wyświetla standardowe okno zapisywania plików, uisetcolor - wyświetla okienko z kolorami do wyboru, uisetfont - wyświetla okno do ustalania parametrów czcionki. 12 6

Okno komunikatu - msgbox Funkcja msgbox pozwala wyświetlić okienko z komunikatem. Jej postaci: msgbox('komunikat') msgbox('komunikat', 'Tytuł', 'Ikona'), gdzie: 'Komunikat' - tekst komunikatu (wyrażenie typu string), 'Tytuł' - tytuł okna (na górnym pasku), 'Ikona' - to parametr który może mieć wartości: 'none', 'error', 'help', 'warn' lub 'custom', domyślnie - brak ikony czyli 'none'. Przykładowe polecenia: msgbox('przygotuj dane'); msgbox('nieprawidłowe dane!','błąd','error') msgbox('przeczytaj instrukcję','pomoc','help') msgbox('niebezpieczna operacja','ostrzeżenie','warn') 13 Okno wprowadzania danych - inputdlg Funkcja ta w najprostszej postaci może mieć budowę: Dane = inputdlg(pytania, Tytuł) Przykład: % Program PR wprowadza dane trzech osób: pytania={'imie', 'Nazwisko', 'Wiek'} for i=1:3 osoba{i} = inputdlg(pytania,'podaj dane:') end % ---- a teraz wyświetla te dane: osoba{1} osoba{2} osoba{3} Pytania muszą być elementami tabeli komórkowej a dane także zostaną wprowadzone do tabeli komórkowej. Tabela komórkowa może mieć elementy różnych typów a ich indeksy trzeba umieszczać w nawiasach klamrowych {}. 14 7

Okno wyboru folderów i plików - uigetfile Wywołanie funkcji ma postać: [nazwa_pliku, ścieżka] = uigetfile(filtr, tytuł) % Przykładowy program % pozwala wybrać plik obrazu % typu "*.bmp" % oraz wyświetli ten obraz. clear; t1='wybierz plik obrazu:'; [naz,folder]=uigetfile('*.bmp', t1); imshow(naz); % wyswietla obraz 15 Tworzenie GUI z pomocą kreatora GUIDE 16 8

Przykład: utworzyć program do obliczania pierwiastka kwadratowego z wpisanej liczby 17 Kreator GUIDE oraz Inspector cech W oknie komend wpisujemy: guide - pojawi się pusta formatka na którą można wstawiać elementy dialogowe z palety Wybrany kliknięciem element pokaże swoje cechy w oknie INSPECTOR Cechy te (np.: Color) można zmieniać w INSPECTORze Każdy element ma identyfikator istniejący jako wartość pola TAG 18 9

Tworzenie GUI programu PIERWIASTEK w kreatorze GUIDE 19 Zmienione cechy obiektów Typ TAG Cecha Wartość cechy String 'Obliczanie pierwiastka liczby' Static Text text1 FontSize 11 BackGroundColor [1 1 0] String 'Liczba =' Static Text text2 FontSize 11 BackGroundColor [1 1 0] String 'Pierwiastek =' Static Text text3 FontSize 11 BackGroundColor [1 1 0] Static Text String '' text4 FontSize 11 Edit Text String '' edit1 FontSize 11 String 'OBLICZ' Push Button pushbutton1 FontSize 11 Callback - ustawiona automatycznie 20 10

Funkcja pushbutton1_callback wywoływana kliknięciem przycisku OBLICZ Przycisk pushbutton1 ma wywołać funkcję która: odczyta tekst wpisany do pola edit1 i przekonwertuje go na liczbę, obliczy pierwiastek z tej liczby, wyświetli wynik w polu text4. Funkcja ta ma postać: %------------------------------------------------------------------------------------------------------ function pushbutton1_callback(hobject, eventdata, handles) % hobject - handle to pushbutton1 (see GCBO) % eventdata - reserved - to future version of MATLAB % handles - structure with handles and user data x = str2double(get(handles.edit1,'string')); y = sqrt(x); set(handles.text4,'string',num2str(y)); 21 11