Matlab 7 - Creating Graphical User Interfaces.pdf

(2031 KB) Pobierz
MATLAB Creating Graphical User Interfaces
M ATLAB ®
The Language of Technical Computing
Creating Graphical User Interfaces
Version 7
498112493.009.png 498112493.010.png
How to Contact The MathWorks:
www.mathworks.com
Web
comp.soft-sys.matlab
Newsgroup
support@mathworks.com
Technical support
suggest@mathworks.com
Product enhancement suggestions
bugs@mathworks.com
Bug reports
doc@mathworks.com
Documentation error reports
service@mathworks.com
Order status, license renewals, passcodes
info@mathworks.com
Sales, pricing, and general information
508-647-7000
Phone
508-647-7001
Fax
The MathWorks, Inc.
Mail
3 Apple Hill Drive
Natick, MA 01760-2098
For contact information about worldwide offices, see the MathWorks Web site.
MATLAB Creating Graphical User Interfaces
 COPYRIGHT 2000 - 2004 by The MathWorks, Inc.
The software described in this document is furnished under a license agreement. The software may be used
or copied only under the terms of the license agreement. No part of this manual may be photocopied or repro-
duced in any form without prior written consent from The MathWorks, Inc .
FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by,
for, or through the federal government of the United States. By accepting delivery of the Program or
Documentation, the government hereby agrees that this software or documentation qualifies as commercial
computer software or commercial computer software documentation as such terms are used or defined in
FAR 12.212, DFARS Part 227.72, and DFARS 252.227-7014. Accordingly, the terms and conditions of this
Agreement and only those rights specified in this Agreement, shall pertain to and govern the use,
modification, reproduction, release, performance, display, and disclosure of the Program and Documentation
by the federal government (or other entity acquiring for or through the federal government) and shall
supersede any conflicting contractual terms or conditions. If this License fails to meet the government's
needs or is inconsistent in any respect with federal procurement law, the government agrees to return the
Program and Documentation, unused, to The MathWorks, Inc.
MATLAB, Simulink, Stateflow, Handle Graphics, and Real-Time Workshop are registered trademarks, and
TargetBox is a trademark of The MathWorks, Inc.
Other product or brand names are trademarks or registered trademarks of their respective holders.
Printing History: November 2000 Online only New for MATLAB 6.0 (Release12)
June 2001
Online only Revised for MATLAB 6.1 (Release 12.1)
July 2002
Online only Revised for MATLAB 6.5 (Release 13)
June 2004
Online only Revised for MATLAB 7.0 (Release 14)
498112493.011.png 498112493.012.png 498112493.001.png 498112493.002.png 498112493.003.png 498112493.004.png
Contents
1
Getting Started with GUIDE
What Is GUIDE? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Starting GUIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
The Layout Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
GUIDE Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Running a GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
GUI FIG-Files and M-Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9
Programming the GUI M-file . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Editing Version 5 GUIs with Version 7 GUIDE . . . . . . . . . . 1-12
Saving the GUI in Version 7 GUIDE . . . . . . . . . . . . . . . . . . . . 1-12
Updating Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
2
Creating a GUI
Designing the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Laying Out the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
View Layout and Code for the Example . . . . . . . . . . . . . . . . . . . 2-3
Open a New GUI in the Layout Editor . . . . . . . . . . . . . . . . . . . 2-4
Set the GUI Figure Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
Add the Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Align the Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
i
498112493.005.png 498112493.006.png
Setting Properties for GUI Components . . . . . . . . . . . . . . . . 2-11
Name Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
Title Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
String Property for Push Buttons and Static Text . . . . . . . . . . 2-12
String Property for Pop-up Menus . . . . . . . . . . . . . . . . . . . . . . 2-12
Callback Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
The Tag Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
Programming the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Creating the GUI M-File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Opening the GUI M-File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Sharing Data Between Callbacks . . . . . . . . . . . . . . . . . . . . . . . 2-19
Adding Code to the Opening Function . . . . . . . . . . . . . . . . . . . 2-20
Adding Code to the Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22
Using the Object Browser to Identify Callbacks . . . . . . . . . . . 2-24
Saving and Running a GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26
3
Laying Out GUIs and Setting Properties
Using GUIDE Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Blank GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
GUI with Uicontrols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
GUI with Axes and Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Modal Question Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
Using the Layout Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Starting the Layout Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Selecting Components from the Component Palette . . . . . . . . 3-10
Adding Components to the Layout Area . . . . . . . . . . . . . . . . . . 3-13
Working with Components in the Layout Area . . . . . . . . . . . . 3-16
Running the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
Saving the Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
Renaming GUI Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
Exporting a GUI to a Single M-File . . . . . . . . . . . . . . . . . . . . . 3-21
Displaying the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
ii
Contents
498112493.007.png
Layout Editor Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
Layout Editor Context Menus . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23
Selecting GUI Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25
Configuring the GUI M-File . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25
Resize Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26
Command-Line Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27
Generate FIG-File and M-File . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29
Generate Callback Function Prototypes . . . . . . . . . . . . . . . . . . 3-30
GUI Allows Only One Instance to Run (Singleton) . . . . . . . . . 3-32
Using the System Background Colors . . . . . . . . . . . . . . . . . . . 3-32
Generate FIG-File Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33
Aligning Components in the Layout Editor . . . . . . . . . . . . . 3-34
Aligning Groups of Components — The Alignment Tool . . . . . 3-34
Grids and Rulers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36
Aligning Components to Guide Lines . . . . . . . . . . . . . . . . . . . . 3-37
Front-to-Back Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-38
Setting Component Properties — The Property
Inspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40
Displaying the Property Inspector . . . . . . . . . . . . . . . . . . . . . . 3-40
What Properties Do I Need to Set? . . . . . . . . . . . . . . . . . . . . . . 3-41
Some Commonly Used Properties . . . . . . . . . . . . . . . . . . . . . . . 3-42
Setting Properties for Some Specific Components . . . . . . . . . . 3-43
Callback Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-51
Changing Tag and Callback Properties . . . . . . . . . . . . . . . . . . 3-53
Viewing the Object Hierarchy — The Object Browser . . . 3-56
Creating Menus — The Menu Editor . . . . . . . . . . . . . . . . . . . 3-57
Defining Menus for the Menu Bar . . . . . . . . . . . . . . . . . . . . . . 3-58
Menu Callbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-63
Defining Context Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65
Setting the Tab Order — The Tab Order Editor . . . . . . . . . 3-69
iii
498112493.008.png
Zgłoś jeśli naruszono regulamin