Jump to content
    

Работа с GUI в Матлаб

Коллеги, столкнулся с таким непонятным поведением GUI.

image.png.cbf5519fb8b8380dc5df47e56712a302.png

В меню пользователя есть пункт "Файл" с помощью которого можно загрузить данные из бинарного файла в массив.

Так вот, если просто случайно провести указателем мыши по слову "Файл" то сразу открывается окно выбора файла, без нажатия ЛКМ.

Честно говоря уже достало. Матлаб R2016b под win10, в R2019b наблюдается то же самое. Кнопка "Старт" ведёт себя нормально.

Кто-то сталкивался с таким поведением? 

Share this post


Link to post
Share on other sites

для элементов меню, которые являются непосредственно дочерними для окна , под функцией вызова подразумевается действие, которое должно выполняться при разворачивании списка подпунктов меню

поэтому это действие может выполняться, если при наведении должен был развернуться список подпунктов меню, даже если никаких подпунктов там нет

 

проблема должна решиться, если добавить единственный подпункт и уже на него назначить необходимое действие

придётся делать лишний клик каждый раз при выборе файла, но это может оказаться лучше, чем неожиданные срабатывания когда не надо

 

Share this post


Link to post
Share on other sites

Большое Вам спасибо за подробный ответ! Я так и сделаю.

Share this post


Link to post
Share on other sites

Коллеги, а как сделать чтобы вывод графика выполнялся в одно и то же окно?

Вот так работает:

figure(1);

plot(x,y)

Но тогда нельзя указать позицию окна на экране.

    figure(1,'MenuBar','None',...
        'Name','Out Data',...
        'NumberTitle','Off',...
        'Position',[1300,140,500,500]);

Такая запись приводит к ошибке, не понимает цифру 1.

Как описать вызов figure чтобы график всегда выводился в одно окно и позицию окна на экране можно было задать?

Share this post


Link to post
Share on other sites

В 17.03.2023 в 11:12, _sda сказал:

figure(1,'MenuBar','None',...
        'Name','Out Data',...
        'NumberTitle','Off',...
        'Position',[1300,140,500,500]);

Такая запись приводит к ошибке, не понимает цифру 1.

Help Matlab-а?

f = figure;

f.Position(3:4) = [280 210];

 

figure(f);

plot(x,y)

Edited by Самурай

Share this post


Link to post
Share on other sites

Большое спасибо! Сейчас попробую.

Сколько пересматривал в хелпе, а этого не видел. Глаз замылился...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...