Latex interpreter for "Edit field" label in App Designer

39 visualizzazioni (ultimi 30 giorni)
Hi everyone,
I'm currently developing a GUI by using Matlab R2021a App Designer. I need to have an "Edit field" label interpreted with latex whose fontsize should be 14. I alreay set the app.EditFiledLabel.fontsize = 14 property in the TEXT inspector and it works proprly. Unfortunately, every time the app is restared the label fontsize always comes back to 12 without any possibility to be modified. I tried to specify the app.EditFiledLabel.fontsize = 14 property at the startup and in some callbacks with no result.
Did anyone have the same issue? Are there suggentions to solve the problem?
Thank you all.
Filippo
  3 Commenti
Filippo Ambrosino
Filippo Ambrosino il 27 Mar 2021
Modificato: dpb il 28 Mar 2021
Hi,
the creation code is correct. I append it here below:
app.EccentricityeEditFieldLabel = uilabel(app.OrbitalparametersPanel);
app.EccentricityeEditFieldLabel.Interpreter = 'latex';
app.EccentricityeEditFieldLabel.FontSize = 14;
app.EccentricityeEditFieldLabel.Position = [2 251 124 22];
app.EccentricityeEditFieldLabel.Text = 'Eccentricity (e):';
The problem arises whenever I restart the app because the label fontsize is no longer 14 but 12 indeed. This happens only if I use the latex interpreter.
Cheers,
Filippo
dpb
dpb il 27 Mar 2021
Well, that would then seem to be a bug.
The suggestion in the TMW link I referred to above was that the workaround for lack of LaTeX interpreter would be to generate the string outside and put it into the field externally/manually. This is obviously limited to static text, of course.

Accedi per commentare.

Risposta accettata

Mario Malic
Mario Malic il 27 Mar 2021
Modificato: Mario Malic il 9 Giu 2021
Hi Filippo,
It seems like a weird bug, but this code makes it work. If you add drawnow in startupFcn, the FontSize can be changed, but make sure that the font size is different from the number in the component browser, otherwise it won't be changed.
Credits to TMW Customer Service
function startupFcn(app)
drawnow
app.EditFieldLabel.Text= '\[ x^n + y^n = z^n \]';
app.EditFieldLabel.FontSize = 25;
end
  5 Commenti
Mario Malic
Mario Malic il 31 Mar 2021
Modificato: Mario Malic il 31 Mar 2021
Edit: I have updated the answer.
I guess there are some issues with the App Designer, as I've changed it from outside, using the command window.
I have reported this as a bug, so, probably will be fixed in the next update.
What you can also try is to write a function or a script that finds the app handle and changes the fontsize. Then call the script in StartupFcn. I'll try that later unless you do it first.
Filippo Ambrosino
Filippo Ambrosino il 1 Apr 2021
Hi Mario,
thanks a lot, your workaround is working! However if you use the latex interpreter, I verified that each property of text label is affected by this weird bug (not only the fontsize).
Anyway, many thanks again.
Cheers,
Filippo

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Develop Apps Using App Designer in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by