gpt4 book ai didi

MATLAB ResizeFcn 回调失败

转载 作者:太空宇宙 更新时间:2023-11-03 20:07:51 25 4
gpt4 key购买 nike

我正在编辑一个用 MATLAB 编写的 GUI,OpeningFcn 中有一行用于设置调整图形大小的回调。

set(hObject, 'UserData', handles.ParentFig, 'ResizeFcn',@cbFigResize, 'CloseRequestFcn', @Cancel);

回调粘贴在下面,为简单起见,进行了大量编辑。

function cbFigResize(src,evt)
% check if figure width is less than 600
if fpos(3) < 600
%set min. width to 600
fpos(3) = 600
end
%check if figure height is less than 560
if fpos(4) <560
% set minimum height to 560
fpos(4) = 560;
end

我的同事运行 Windows XP 和早期版本的 MATLAB。我运行 Windows 7 和 MATLAB 7.12.0.635。现在,当他调整图形大小时,它们总是会正确调整大小。当我运行相同的代码时,我有时会得到比上面设置的最小宽度和高度限制更小的图形。我的同事说这是 Windows 7 中断问题。如果其他人有这个问题,我们找到了一个简单但不合逻辑的解决方法,我将在下面发布。

function cbFigResize(src,evt,doStop)
if nargin < 3
doStop = false;
end

% check if figure width is less than 600
if fpos(3) < 600
%set min. width to 600
fpos(3) = 600
end
%check if figure height is less than 560
if fpos(4) <560
% set minimum height to 560
fpos(4) = 560;
end

if ~doStop
cbFigResize(src,evt,true)
end

您可以看到该函数调用自身时带有一个标志,该标志会在成为无限循环时停止。现在我无法将窗口调整到最小值以下。有人对此行为有任何见解吗?

最佳答案

mathworks.com 上的一位用户回答了这个问题。他的解决方案解决了这个问题。我会把链接放在下面。 http://www.mathworks.com/matlabcentral/answers/21294-matlab-resizefcn-callback-fails

关于MATLAB ResizeFcn 回调失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8140231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com