如何创建2个具有独立引擎的Flutter(Windows桌面)窗口并在它们之间进行通信?

问题描述 投票:0回答:2

我想向我们的 Windows Flutter 应用程序添加一项功能。如果在连接第二个外部显示器的情况下运行,它将同时运行 2 个窗口。在主显示屏上,它将全屏显示应用程序,在外部显示屏上,它将显示主窗口上正在控制的内容的预览,也是全屏的(类似于在 2 个显示器上使用演示者视图的 Powerpoint 演示)。

我发现这两个链接描述了在项目中使用

windows/runner/main.cpp
windows/runner/run_loop.cpp
这当然是可能的:

但是,当将cjng96的问题中的“重现步骤”添加到我的项目时,它运行成功,但只出现1个窗口...

此外,我不确定如何:

  • 指定要在辅助显示屏上显示的不同小部件,并且
  • 如何在两个视图之间创建通信

或者,这是实现双屏目标的最佳方法吗?任何帮助将非常感激。

c++ windows flutter multiple-monitors
2个回答
1
投票

颤振中多个窗口的正确实现似乎即将推出,正如您在本视频中看到的:

预览:桌面上的多个窗口


0
投票

我不知道这个是否已经发布,但我实现这一目标的方法是使用Windows的扩展桌面功能。然后,我实际上调整了每个屏幕的两个主要小部件的大小,我使用四个常量来定义

WIDTH_FIRST_SCREEN
HEIGHT_FIRST_SCREEN
WIDTH_SECOND_SCREEN
HEIGHT_SECOND_SCREEN
,然后基于此构建我的整个 UI。

© www.soinside.com 2019 - 2024. All rights reserved.