Interactive figure manipulation with App Designer

26 次查看(过去 30 天)
I am in the early design stage of a GUI that involves interactive plotting (moving/adding/deleting points within graph via mouse clicks) similar to moveplot on File Exchange
I am new to App Designer, but it seems much easier to develop with than GUIDE (particularly for sharing data between callbacks and outside the GUI using the dot notation). It also supports tab groups which I plan to use, and seems better at graphically laying out UI elements and configuring them.
However, according to the manual: "Furthermore, UI figures do not support most of the interactive functionality that traditional figures support. For example, UI figures do not support printing, nor do they support mouse or keyboard interactions."
My GUI could always generate a new figure window (not uifigure), and that figure could handle the interactive stuff as in moveplot.
Another limitation I've noticed is that uilistbox (also uitextarea, uieditfield, uilabel) does not support HTML formatting whereas the uicontrol('Style','listbox'...) does (see: example). This affords much more flexibility than having to include a new textbox anytime a new font, font color, font size is required, and supports links and symbols.
I've used both GUIDE and built GUIs only from .m files in the past. App Designer intrigues me for my new design but I don't want to get burned after putting in a good amount of effort, only find out it doesn't have another feature I expected that requires another clunky workaround.
If you have experience with App Designer, are there other suggestions or warnings you could provide?

采纳的回答

Ankita Nargundkar
Ankita Nargundkar 2017-6-21
Developers are aware of lack of mouse click callback for a Figure in app designer. Html formatting is not documented feature, so is always subject to frequent changes. As a workaround, you could do individual text components created dynamically for each of the different sections of formatted text.
  2 个评论
Marta
Marta 2017-12-13
Hi Ankita.
Thanks for the reply. Could you pass on an example code for how to create components dynamically? Could we use the position of the components as a way of tracking mouse positions in the App figures?
Many thanks! Marta
Philip Tamimi-Sarnikowski
Hello
I am currently working on a GUI with the App designer. I am inquiring about the mouse click callback, as i need to register clicks on uiaxes and the specific location. Is this a feature that has been implemented since last year ? I do not seem to be able to find any documentation. Thank you in advance

请先登录,再进行评论。

更多回答(1 个)

Sebastian Bech-Terkilsen
Hi Everyone, I encountered the same problem by trying to use imfreehand in a uifigure in an app. My workaround was to make a function outside of app designer which makes a figure pop-out which then carries the imfreehand. Then have any modifications assigned to the imfreehand be done inside the function and have your uifigure display the output image of the function.
  1 个评论
abdulla alyammahi
Hello, I would like to know how you made this happen, I have been trying and I have not been able to figure it out. Is it possible from within the app to make this pop-up appear?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Develop uifigure-Based Apps 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by