Strange behavior of graphical objects in GUI after launch of application

2 Ansichten (letzte 30 Tage)
andreadr
andreadr am 9 Apr. 2018
Beantwortet: laiba am 29 Jul. 2024
I'm developing the GUI for a Matlab application. I'm not using GUIDE or App Designer, as I needed more flexibility.
As a general way of coding, my window figures are created with the Visible property set to off, children objects are declared, set and then moved programmatically to their right position. Only at the end, the Visible property set to on.
Everything seems to work quite good, except for a strange particular: every time the deployed app is launched, or when the GUI code is launched from Matlab for the first time (after Matlab startup), the main window is created and, after being made visible, all the figure content is slightly resized a couple of times, before the correct sizes and positions are reached (the whole process taking a couple of seconds).
I tried to use the drawnow command in several ways and positions in order to "freeze" all objects properties before setting Visible, but nothing seems to work. It seems the
hFig.Visible = 'on';
command triggers the strange "trembling" behavior (or at least it triggers the triggering mechanism). Also, the fact that this happens in Matlab but only on the first run seems related to the specific new Matlab session (which is coherent with the fact that it happens all the times with the standalone application).
Any clue for the reason of this behaviour and/or possible ways to fix it? I know is not a big deal, but is quite annoying and unpleasant to see.
  2 Kommentare
Stephen23
Stephen23 am 10 Mai 2018
Bearbeitet: Stephen23 am 11 Mai 2018
@andreadr: what MATLAB version are you using? What OS are you using? Did you change any renderer settings?
andreadr
andreadr am 11 Mai 2018
@Stephen Cobeldick:
I'm mostly using R2017b on Windows.
Actually I don't remember changing any renderer settings, but I cannot exclude it. What kind of settings are you thinking about?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

laiba
laiba am 29 Jul. 2024
originalImage = imread('NSWPremierStateNumberPlate.jpg');
grayImage = rgb2gray(originalImage);
edgeImage = edge(grayImage, 'Canny');
boundaries = bwboundaries(edgeImage);
results = ocr(numberPlateRegion);
disp(results.Text);

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by