4

我正在使用implay播放我想要的一些帧,问题是弹出的窗口有点小,所以用户必须自己最大化它,有没有办法控制弹出窗口的大小?

4

4 回答 4

7

啊,我们开始:

implay(Diff);
set(findall(0,'tag','spcui_scope_framework'),'position',[150 150 700 550]);

工作于 2012 年 b。(注意:如果您打开了多个 implay 窗口,这会将它们全部设置为相同的大小)

所以你可以学习如何为自己找到这类东西,我所做的就是从一个没有其他打开窗口的工作区开始。

然后我用来implay(Diff)打开一个播放窗口。

然后我用来findall(0)查找 0 下的所有图形/uicontrol 句柄,这是根工作区。但是人数太多了!其中大部分是implay窗口的子组件——菜单、按钮等。所以,我只需要由根工作区创建的第一个组件。

为了得到这个,我使用了findall(0,'Parent',0);- 我也可以使用allchild(0);.

我为此分配了一个变量:ImplayHandle=findall(0,'Parent',0);

并查看了它的属性:

get(ImplayHandle);

通过这些查看,Tag似乎是窗口的标识符,'spcui_scope_framework'. 我还注意到该Position属性的大小与数字窗口的大小相似,这是有希望的。

所以,为了检查,我尝试了findall(0,'Tag','spcui_scope_framework');,我发现只返回了一个句柄(没有一个子组件或菜单项也用相同的标签标记,这是可能的)。

最后,我关闭了打开的窗口,然后implay(Diff);再次使用打开了一个新窗口。我使用set命令尝试更改窗口大小:

set(findall(0,'tag','spcui_scope_framework'),'position',[150 150 700 550]);

并看到窗口大小确实如所希望的那样发生了变化。

于 2013-07-08T14:03:46.273 回答
1
handle = implay(movie);
handle.Parent.Position = [100 100 700 550];

如果您想设置窗口大小,也可以使用。

于 2016-09-12T11:26:33.877 回答
0

您可以使用'Position'属性控制图形的大小。
此属性需要格式为 的 4 元素向量[fromX fromY width height],因此,通过更改widthheight您可以控制图形的大小。

例如

figure( 'Position', [150 150 700 550] )

打开一个宽度为 700 像素、高度为 550 像素的新图形。

于 2013-07-08T08:06:27.547 回答
0

如果想最大化窗口,以下代码适用于我(windows10,matlab R2020b)。

handle = implay('Path of the movie');
handle.Parent.WindowState= 'maximized' ;
于 2022-02-18T21:35:47.077 回答