gpt4 book ai didi

GUI 中的 Matlab 缩放监听器

转载 作者:行者123 更新时间:2023-12-04 04:39:40 26 4
gpt4 key购买 nike

我有一个 gui,它由 MATLAB 中的绘图和静态文本组成。

我想在绘图上有一个缩放监听器,以便我可以使用放大率更新静态文本。无论如何,我可以做到这一点吗?

最佳答案

脚本文件(或者您可以将其作为嵌套函数执行,无论您喜欢什么):

f = figure(1);
z = zoom(f);
imshow(ones(400));
xlim = get(gca,'XLim');
t = text(150,150,'hello','fontsize',4000/(xlim(2)-xlim(1)));
set(z,'ActionPostCallback',@(obj,event_obj)testcallback(obj,event_obj,t));

功能 testcallback.m文件:
function testcallback(obj,event_obj,t)
xlim = get(event_obj.Axes,'XLim');
set(t,'fontsize',4000/(xlim(2)-xlim(1)));
end

输出:

enter image description here

另外,这里是 zoom 上的 matlab 文档如果您想直接更改缩放功能的工作方式或弄乱其他一些东西,则对象:

http://www.mathworks.com/help/matlab/ref/zoom.html

编辑:
最后,您可以将其实现为嵌套函数以传递文本对象。将此另存为 testfunction.m然后只需在终端中输入 testfunction 即可运行它:
function testfunction

f = figure(1);
z = zoom(f);
imshow(ones(400));
xlim = get(gca,'XLim');
t = text(150,150,'hello','fontsize',4000/(xlim(2)-xlim(1)));
set(z,'ActionPostCallback',@testcallback);

function testcallback(obj,event_obj)
xlim = get(event_obj.Axes,'XLim');
set(t,'fontsize',4000/(xlim(2)-xlim(1)));
end

end

关于GUI 中的 Matlab 缩放监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19083360/

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