【问题标题】:Bring Matlab uigetfile window to front of all other programs?将 Matlab uigetfile 窗口置于所有其他程序的前面?
【发布时间】:2016-04-12 19:02:53
【问题描述】:

我正在从另一个程序(Vicon Nexus 2.3)调用脚本。这个其他程序将启动 Matlab,然后运行脚本。

脚本做的第一件事就是调用uigetfile()。然而,由于 Nexus 程序具有 Windows 焦点,因此 uigetfile() 窗口出现在所有内容的后面。有什么方法可以不使用鼠标将它带到前面?

我试过了:

shg
uistack()

但我认为这里的问题是 Windows 焦点,而不是 uistack。有人知道这是否可能吗?

【问题讨论】:

  • 只是为了确定一下,您是否尝试过uistack 与第二个参数“top”,即uistack(handle_to_uigetfile_object, 'top')

标签: matlab setfocus


【解决方案1】:

您需要做的是在打开 uigetfile 对话之前将 Matlab 置于前面。你可以这样做,例如致电commandwindow:

commandwindow();
uigetfile();

通过从命令行启动 Matlab 并在打开后覆盖一些其他窗口进行测试,但在执行 pause 之后的代码之前:

matlab -r "pause(3); commandwindow(); uigetfile();"

【讨论】:

  • 这非常适合将 uigetfile 窗口放在其他 Matlab 窗口 +1 的前面,但是当另一个应用程序具有 Windows 的焦点时,它对我不起作用。该代码导致工具栏中的命令窗口图标闪烁,但没有在前面弹出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
  • 2022-10-07
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 2016-04-27
相关资源
最近更新 更多