GUI dynamic output
3 次查看(过去 30 天)
显示 更早的评论
I want to construct a standalone GUI in which, as the user slides an input slider, a ‘dot’ moves on the screen of the GUI according to some algorithm. May someone suggest about how to realize this.
1 个评论
Walter Roberson
2011-11-7
Closely related question by the same author: http://www.mathworks.com/matlabcentral/answers/20563-gui-dynamic-interface
回答(1 个)
Walter Roberson
2011-11-7
In the callback function for the slider, get() the Value associated with the slider, pass that to a routine that calculates the desired new position, and set() the XData and YData properties of the dot to be the new desired position.
3 个评论
Walter Roberson
2011-11-7
See your other question for information about arrows.
If you are already using annotation() to draw an arrow, you might as well use annotation() to draw an ellipse as well: an ellipse with equal height and width would be a circle. You would then move and resize the circle by changing the annotation ellipse Position property.
http://www.mathworks.com/help/techdoc/ref/annotationellipseproperties.html
Another way of drawing a circle is to use the rectangle() function: despite its name it will draw circles (or ellipses) too. The Position property would be the one to manipulate for it.
You can also just plot a point and use 'o' as the marker shape and define your MarkerSize to be as large as you want the dot to be. You would move it by changing the line XData and YData properties.
Other ways of drawing a circle are described at http://matlab.wikia.com/wiki/FAQ#How_do_I_create_a_circle.3F
You could move the image of a dot around on the screen if you really wanted.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!