我正在使用implay播放我想要的一些帧,问题是弹出的窗口有点小,所以用户必须自己最大化它,有没有办法控制弹出窗口的大小?
4 回答
啊,我们开始:
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]);
并看到窗口大小确实如所希望的那样发生了变化。
handle = implay(movie);
handle.Parent.Position = [100 100 700 550];
如果您想设置窗口大小,也可以使用。
您可以使用'Position'
属性控制图形的大小。
此属性需要格式为 的 4 元素向量[fromX fromY width height]
,因此,通过更改width
和height
您可以控制图形的大小。
例如
figure( 'Position', [150 150 700 550] )
打开一个宽度为 700 像素、高度为 550 像素的新图形。
如果想最大化窗口,以下代码适用于我(windows10,matlab R2020b)。
handle = implay('Path of the movie');
handle.Parent.WindowState= 'maximized' ;